Class: Filecop::CLI

Inherits:
Object
  • Object
show all
Defined in:
lib/filecop.rb

Instance Method Summary collapse

Instance Method Details

#run(args = ARGV) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/filecop.rb', line 11

def run(args = ARGV)
  @options, @paths = Options.parse!(args)
  @paths = Dir.entries(".") if @paths.length==0

  unless @options.json
    puts "Checking #{@paths.length} files\n"
  end

  files = matching_files

  if @options.json
    puts JSON.generate files.map { |p| { file: p[:file], message: p[:rule].message } } 
  else
    if files.length>0
      puts "\nIssues:\n\n"
    end
    puts files.map { |p| "#{p[:file]}: #{p[:rule].message}" } 
    puts "\n"
    puts "#{@paths.length} files checked, #{files.length} potential problems"
  end

  return files.length>0 ? 1 : 0
rescue StandardError, SyntaxError => e
  $stderr.puts e.message
  $stderr.puts e.backtrace
  return 1
end