88require 'problematic_variable_finder/gem_problems'
99require 'problematic_variable_finder/problem_finder'
1010require 'problematic_variable_finder/formatters/cli_formatter'
11+ require 'problematic_variable_finder/formatters/csv'
1112
1213module ProblematicVariableFinder
1314 class Runner
@@ -39,7 +40,14 @@ def display_gem_problems
3940 end
4041
4142 def display_problems ( gem_name , problems )
42- Formatters ::CliFormatter . new ( gem_name , problems ) . call
43+ klass = case options [ :format ]
44+ when :csv
45+ Formatters ::Csv
46+ else
47+ Formatters ::CliFormatter
48+ end
49+
50+ klass . new ( gem_name , problems ) . call
4351 end
4452
4553 def each_gem_problem
@@ -52,11 +60,11 @@ def main_problems
5260 app_problems . merge ( lib_problems )
5361 end
5462
55- def app_problems
63+ def app_problems
5664 problem_finder . find_problems_in_directory ( "app" )
5765 end
5866
59- def lib_problems
67+ def lib_problems
6068 problem_finder . find_problems_in_directory ( "lib" )
6169 end
6270
@@ -73,41 +81,13 @@ def gems
7381 end
7482
7583 def gem_problems
76- @gem_problems ||= GemProblems . new ( gem_path , gems , options )
84+ @gem_problems ||= GemProblems . new ( gem_path , gems )
7785 end
7886
7987 def problem_finder
8088 @problem_finder ||= ProblemFinder . new
8189 end
8290
83- def options
84- @options ||= parse_options
85- end
86-
87- def parse_options
88- options = { }
89-
90- OptionParser . new do |opts |
91- opts . banner = "Usage: #{ __FILE__ } [options]"
92-
93- opts . on ( "-v" , "--[no-]verbose" , "Run verbosely" ) do |v |
94- options [ :verbose ] = v
95- end
96-
97- opts . on ( "-d" , "--directory" , "Directory to find app in" ) do |d |
98- options [ :directory ] = d
99- end
100-
101- opts . on ( "-i" , "--ignore rails,activerecord" , Array , "Ignore gems" ) do |i |
102- options [ :ignore ] = i
103- end
104-
105- opts . on ( "-g" , "--gems rails,activerecord" , Array , "List of gems" ) do |g |
106- options [ :gems ] = g
107- end
108- end . parse!
109-
110- options
111- end
91+ delegate :options , to : ProblematicVariableFinder
11292 end
11393end
0 commit comments