Top Level Namespace
- Includes:
- GLI::App
Defined Under Namespace
Constant Summary collapse
- LOADERS =
Jetel::Loaders.loaders
- MODULES =
Jetel::Modules.modules
- MODULES_ACTIONS =
{ download: nil, extract: nil, transform: nil, load: { params: [ { desc: 'Column type', default_value: nil, arg_name: 'column-name=column-type', flag: [:column_type] }, { desc: 'Num Lines to analyze', default_value: 1000, arg_name: 'num', flag: [:analyze_num_rows] } ] } }
- DOWNLOADERS =
Jetel::Downloaders.downloaders
Instance Method Summary collapse
-
#get_module_name(m) ⇒ String
Gets module name.
- #launch(argv = ARGV) ⇒ Object
- #register_module(m) ⇒ Object
-
#register_module_action(c, modul, name, spec, &block) ⇒ Object
Register module (CLI) action.
Instance Method Details
#get_module_name(m) ⇒ String
Gets module name
35 36 37 |
# File 'lib/jetel/cli/cmd/modules_cmd.rb', line 35 def get_module_name(m) m[:name] end |
#launch(argv = ARGV) ⇒ Object
10 11 12 |
# File 'lib/jetel/cli/app.rb', line 10 def launch(argv = ARGV) run(argv) end |
#register_module(m) ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/jetel/cli/cmd/modules_cmd.rb', line 65 def register_module(m) module_name = get_module_name(m) desc "Module #{module_name}" command(m[:name], m[:class_name]) do |c| module_instance = m[:klass].new MODULES_ACTIONS.each do |name, spec| next unless module_instance.respond_to?(name) register_module_action(c, m, name, spec) do |, , args| module_instance.send(name, , , args) end end end end |
#register_module_action(c, modul, name, spec, &block) ⇒ Object
Register module (CLI) action
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/jetel/cli/cmd/modules_cmd.rb', line 46 def register_module_action(c, modul, name, spec, &block) module_name = modul[:name] action_description = spec && spec[:description] || "#{name} #{module_name}" params = spec && spec[:params] || [] c.desc(action_description) c.command(name) do |cmd| params.each do |param| param.each do |name, val| cmd.send name, val end end cmd.action(&block) end end |