Class: Docker::Cli::ArgsParser

Inherits:
Object
  • Object
show all
Includes:
TR::ArgUtils
Defined in:
lib/docker/cli/operations/args_parser.rb

Defined Under Namespace

Classes: ArgsParserException

Constant Summary collapse

OpsOption =
[
  "run-keep", "rk",
  "run-del","rd",
  "run","r"
]

Instance Method Summary collapse

Instance Method Details

#select_runner(argv) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/docker/cli/operations/args_parser.rb', line 28

def select_runner(argv)
  ops = argv.first
  if is_empty?(ops)
    raise ArgsParserException, "\n Operation is empty. First parameter is operation. Supported operations including : #{OpsOption.join(", ")}\n\n"
  else
    case ops
    when "run-keep", "rk" 
      Docker::Cli::Operations::RunKeep.new.parse_argv(argv[1..-1])

    when "run-del", "rd"
      Docker::Cli::Operations::RunDel.new.parse_argv(argv[1..-1])

    when "run", "r"
      Docker::Cli::Operations::Run.new.run

    else
      raise ArgsParserException, " Unknown operation '#{ops}'. First parameter is operation. Supported operations including : #{OpsOption.join(", ")}\n" 
    end
  end

  [true, argv[1..-1]]
end