ArturT/knapsack

View on GitHub
bin/knapsack

Summary

Maintainability
Test Coverage
#!/usr/bin/env ruby

require_relative '../lib/knapsack'

runner = ARGV[0]
arguments = ARGV[1]

MAP = {
  'rspec' => Knapsack::Runners::RSpecRunner,
  'cucumber' => Knapsack::Runners::CucumberRunner,
  'minitest' => Knapsack::Runners::MinitestRunner,
  'spinach' => Knapsack::Runners::SpinachRunner,
}

runner_class = MAP[runner]

if runner_class
  runner_class.run(arguments)
else
  raise 'Undefined runner. Please provide runner name and optional arguments, for instance: knapsack rspec "--color --profile"'
end