Class: ChefRelevantTests::Cli
- Inherits:
-
Object
- Object
- ChefRelevantTests::Cli
- Defined in:
- lib/chef-relevant-tests/cli.rb
Class Method Summary collapse
Class Method Details
.parse_args!(argv) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/chef-relevant-tests/cli.rb', line 7 def parse_args!(argv) parser = OptionParser.new do |opts| opts. = <<-BANNER.strip Usage: chef-relevant-tests [revision] [expander] Available Expanders: #{EXPANDER_REGISTRY.keys.join ','} BANNER end parser.parse!(argv) unless set_revision(ARGV.shift) puts "Error: Unknown revision.\n\n#{parser.help}" exit(1) end unless (ARGV.shift) puts "Error: Unknown expander.\n\n#{parser.help}" exit(1) end end |
.run ⇒ Object
40 41 42 43 44 45 46 |
# File 'lib/chef-relevant-tests/cli.rb', line 40 def run changed_cookbooks = find_cookbook_diffs(@@revision) EXPANDER_REGISTRY[@@expander] .new(@@revision, changed_cookbooks) . end |
.set_expander(exp) ⇒ Object
34 35 36 37 38 |
# File 'lib/chef-relevant-tests/cli.rb', line 34 def (exp) return if !exp || exp.empty? @@expander = exp end |
.set_revision(rev) ⇒ Object
28 29 30 31 32 |
# File 'lib/chef-relevant-tests/cli.rb', line 28 def set_revision(rev) return unless system('git rev-parse #{rev} >/dev/null 2>&1') @@revision = rev end |