Class: TreasureData::Command::List::CommandParser

Inherits:
OptionParser
  • Object
show all
Defined in:
lib/td/command/list.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, req_args, opt_args, varlen, argv) ⇒ CommandParser

Returns a new instance of CommandParser.



7
8
9
10
11
12
13
14
15
# File 'lib/td/command/list.rb', line 7

def initialize(name, req_args, opt_args, varlen, argv)
  super()
  @req_args = req_args
  @opt_args = opt_args
  @varlen = varlen
  @argv = argv
  @has_options = false
  @message = ''
end

Instance Attribute Details

#messageObject

Returns the value of attribute message.



17
18
19
# File 'lib/td/command/list.rb', line 17

def message
  @message
end

Instance Method Details



24
25
26
27
28
29
30
31
# File 'lib/td/command/list.rb', line 24

def banner
  s = @message.dup
  if @has_options
    s << "\n"
    s << "options:\n"
  end
  s
end

#cmd_parse(argv = @argv||ARGV) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/td/command/list.rb', line 33

def cmd_parse(argv=@argv||ARGV)
  parse!(argv)
  if argv.length < @req_args.length || (!@varlen && argv.length > (@req_args.length+@opt_args.length))
    cmd_usage nil
  end
  if argv.length <= 1
    return argv[0]
  else
    return argv
  end
rescue
  cmd_usage $!
end

#cmd_usage(msg = nil) ⇒ Object



47
48
49
50
51
# File 'lib/td/command/list.rb', line 47

def cmd_usage(msg=nil)
  puts self.to_s
  puts "error: #{msg}" if msg
  exit 1
end

#on(*argv) ⇒ Object



19
20
21
22
# File 'lib/td/command/list.rb', line 19

def on(*argv)
  @has_options = true
  super
end