Class: Tomo::CLI::Command

Inherits:
Object
  • Object
show all
Includes:
Tomo::Colors
Defined in:
lib/tomo/cli/command.rb

Class Method Summary collapse

Methods included from Tomo::Colors

enabled?

Class Method Details

.after_parse(context_method_name) ⇒ Object



15
16
17
# File 'lib/tomo/cli/command.rb', line 15

def after_parse(context_method_name)
  parser.after_parse(context_method_name)
end

.arg(spec, values: []) ⇒ Object



7
8
9
# File 'lib/tomo/cli/command.rb', line 7

def arg(spec, values: [])
  parser.arg(spec, values:)
end

.option(key, spec, desc = nil, values: []) ⇒ Object



11
12
13
# File 'lib/tomo/cli/command.rb', line 11

def option(key, spec, desc=nil, values: [], &)
  parser.option(key, spec, desc, values:, &)
end

.parse(argv) ⇒ Object



23
24
25
26
27
28
29
# File 'lib/tomo/cli/command.rb', line 23

def parse(argv)
  command = new
  parser.context = command
  parser.banner = command.method(:banner)
  *args, options = parser.parse(argv)
  command.call(*args, options)
end

.parserObject



19
20
21
# File 'lib/tomo/cli/command.rb', line 19

def parser
  @parser ||= Parser.new
end