6
7
8
9
10
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/checker/cli.rb', line 6
def execute
directory_to_check = nil
if ARGV.size == 0
modules = get_modules_to_check
else
if ARGV[0] == "install"
Checker::Installator.install!
elsif ARGV[0] == "reinstall"
Checker::Installator.reinstall!
elsif ARGV[0] == "help"
Checker::Helper.show_help!
elsif ARGV[0] == "modules"
Checker::Helper.show_modules!(self.available_modules)
elsif File.exist?(ARGV[0]) && File.directory?(ARGV[0])
directory_to_check = ARGV[0].gsub /\/+$/, ''
modules = 'all'
else
modules = ARGV.map(&:downcase)
end
end
if modules.empty? || modules.include?('all')
modules = available_modules
end
check_module_availability(modules) do |result|
puts "Modules not available: #{result.join(", ")}.\n"
puts "Available: all, #{available_modules.join(", ")}\n"
puts "Check your git config checker.check\n"
exit 1
end
module_instances = []
if !directory_to_check.nil?
files = Dir["#{directory_to_check}/**/*"]
else
files = modified_files
end
modules.each do |mod|
klass = "Checker::Modules::#{mod.classify}".constantize
module_instances << klass.new(files.dup)
end
files_checked = module_instances.map(&:files_to_check).flatten.uniq
puts "[ CHECKER #{Checker::VERSION} - #{files_checked.size} files ]".light_blue
results = module_instances.map(&:check)
show_full_status module_instances
exit (results.all_true? ? 0 : 1)
end
|