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
40
|
# File 'lib/hiera/backend/eyaml/CLI.rb', line 14
def self.parse
Utils.require_dir 'hiera/backend/eyaml/subcommands'
Eyaml.subcommands = Utils.find_all_subclasses_of({ :parent_class => Hiera::Backend::Eyaml::Subcommands }).collect {|classname| Utils.snakecase classname}
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
|