lib/massa/analyzer.rb in massa-0.1.5 vs lib/massa/analyzer.rb in massa-0.2.0.rc1

- old
+ new

@@ -17,44 +17,44 @@ def initialize(verbose: false) @verbose = verbose end def run! - Massa::Tool.list.each do |gem_name, tool| - Massa::CLI.colorize :blue, "➙ #{tool['description']}" + Massa::Tool.list.each do |tool| + Massa::CLI.colorize :blue, "➙ #{tool.description}" - next unless gem_installed?(gem_name, required: tool['required']) + next if tool.gem? && !gem_installed?(tool) execute(tool) end Massa::CLI.colorize :green, "~(‾▿‾)~ All good!" end - def gem_installed?(name, required:) - return true if `gem query -i #{name}`.chomp == 'true' + def gem_installed?(tool) + return true if `gem query -i #{tool.name}`.chomp == 'true' - Massa::CLI.colorize :yellow, "༼ つ ◕_◕ ༽つ '#{name}' is not installed" + Massa::CLI.colorize :yellow, "༼ つ ◕_◕ ༽つ '#{tool.name}' gem is not installed" - required ? exit(1) : false + tool.required? ? exit(1) : false end def execute(tool) command_output = '' if verbose? - system(tool['command']) + system(tool.command) else - IO.popen(tool['command'], err: [:child, :out]) { |io| command_output = io.read } + IO.popen(tool.command, err: [:child, :out]) { |io| command_output = io.read } end unless $CHILD_STATUS.success? - Massa::CLI.colorize :red, "¯\\_(ツ)_/¯ #{tool['description']} failed:" - Massa::CLI.colorize :yellow, "$ #{tool['command']}" + Massa::CLI.colorize :red, "¯\\_(ツ)_/¯ #{tool.description} failed:" + Massa::CLI.colorize :yellow, "$ #{tool.command}" puts command_output if command_output.to_s != '' - exit 1 if tool['required'] + exit 1 if tool.required? end end end end