Class: Dapp::Dimg::CLI::Command::Dimg::Run
- Inherits:
-
Base
- Object
- CLI
- CLI::Command::Base
- Base
- Dapp::Dimg::CLI::Command::Dimg::Run
- Defined in:
- lib/dapp/dimg/cli/command/dimg/run.rb
Constant Summary
Constants inherited from CLI
Instance Method Summary collapse
- #expected_options ⇒ Object
- #find_option(arg) ⇒ Object
- #read_options(args) ⇒ Object
- #run(argv = ARGV) ⇒ Object
Methods inherited from CLI::Command::Base
#cli_options, #initialize, #run_method
Methods inherited from CLI
Methods included from Helper::Cli
#cli_wrapper, #composite_options, #in_validate!, #list_msg_format, #parse_options, #parse_subcommand, #prepare_subcommand, #required_argument, #run_subcommand
Methods included from Helper::Trivia
class_to_lowercase, #class_to_lowercase, #delete_file, #kwargs, #make_path, #search_file_upward
Constructor Details
This class inherits a constructor from Dapp::CLI::Command::Base
Instance Method Details
#expected_options ⇒ Object
44 45 46 |
# File 'lib/dapp/dimg/cli/command/dimg/run.rb', line 44 def @expected_options ||= .values.map { |opt| { formats: [opt[:long], opt[:short]].compact, with_arg: !opt[:long].split.one? } } end |
#find_option(arg) ⇒ Object
39 40 41 42 |
# File 'lib/dapp/dimg/cli/command/dimg/run.rb', line 39 def find_option(arg) .each { |hash| return hash if hash[:formats].any? { |f| f.start_with? arg } } nil end |
#read_options(args) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/dapp/dimg/cli/command/dimg/run.rb', line 22 def (args) self.class.cli_wrapper(self) do args.each_with_index do |arg, i| next if arg == '--' next if (key = find_option(arg)).nil? cli_option = [] cli_option << args.slice!(i) if key[:with_arg] raise OptionParser::InvalidOption if args.count < i + 1 cli_option << args.slice!(i) end (cli_option) return (args) end end end |
#run(argv = ARGV) ⇒ Object
48 49 50 51 52 53 54 55 |
# File 'lib/dapp/dimg/cli/command/dimg/run.rb', line 48 def run(argv = ARGV) filtered_args = (argv) patterns = filtered_args.any? && !filtered_args.first.start_with?('-') ? [filtered_args.shift] : [] index = filtered_args.index('--') || filtered_args.count = index.nonzero? ? filtered_args.slice(0..index - 1) : [] command = filtered_args.slice(index + 1..-1) || [] ::Dapp::Dapp.new(options: (dimgs_patterns: patterns)).run(, command) end |