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
|
# File 'lib/hiera/backend/eyaml/CLI.rb', line 13
def self.parse
Utils.require_dir 'hiera/backend/eyaml/subcommands'
Eyaml.subcommands = Utils.find_all_subclasses_of({ parent_class: Hiera::Backend::Eyaml::Subcommands }).collect do |classname|
Utils.snakecase classname
end
Eyaml.subcommand = ARGV.shift
subcommand = case Eyaml.subcommand
when nil
ARGV.delete_if { true }
'unknown_command'
when /^-/
ARGV.delete_if { true }
'help'
else
Eyaml.subcommand
end
command_class = Subcommand.find subcommand
options = command_class.parse
options[:executor] = command_class
options = command_class.validate options
Eyaml::Options.set options
Eyaml::Options.trace
end
|