Class: Kaisoku::Evaluator::CLI

Inherits:
Object
  • Object
show all
Defined in:
lib/kaisoku/evaluator/cli.rb

Instance Method Summary collapse

Constructor Details

#initialize(argv) ⇒ CLI

Returns a new instance of CLI.



10
11
12
# File 'lib/kaisoku/evaluator/cli.rb', line 10

def initialize(argv)
  @argv = argv
end

Instance Method Details

#callObject



14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/kaisoku/evaluator/cli.rb', line 14

def call
  options = parse_options
  return replay(options) if options[:commits]
  return mutations(options) if options[:seed_mutations]
  return usage_error unless options[:total] && options[:selected]

  payload = ratio_payload(options)
  write_json_report(json_report_path(options), payload) if json_report_path(options)
  append_history(history_path(options), payload) if history_path(options)
  puts "Selection ratio: #{format('%.2f', selection_ratio(options) * 100)}%"
  puts "Reduction ratio: #{format('%.2f', reduction_ratio(options) * 100)}%"
  0
end