| Class | CommandLine::OptionData |
| In: |
lib/commandline/optionparser/optiondata.rb
|
| Parent: | Object |
Data resulting from parsing a command line (Array) using a particular OptionParser object
| args | [R] | |
| argv | [R] | |
| cmd | [R] | |
| not_parsed | [R] | |
| unknown_options | [R] |
argv: Original commandline parsed options passed on the commandline? unknown options ?? args found on commandline array of arguments that was not parsed — probably because of ’—’ the command if in command mode
# File lib/commandline/optionparser/optiondata.rb, line 34
34: def initialize(argv, opts, unknown_options, args, not_parsed, cmd)
35: @opts = {}
36: opts.each { |k,v|
37: @opts[k] =
38: begin
39: Marshal.load(Marshal.dump(v))
40: rescue
41: v
42: end
43: }
44: @unknown_options = Marshal.load(Marshal.dump(unknown_options))
45: @not_parsed = Marshal.load(Marshal.dump(not_parsed))
46: @argv = Marshal.load(Marshal.dump(argv))
47: @args = Marshal.load(Marshal.dump(args))
48: @cmd = Marshal.load(Marshal.dump(cmd))
49: end
# File lib/commandline/optionparser/optiondata.rb, line 51
51: def [](key)
52: if @opts.has_key?(key)
53: @opts[key]
54: else
55: raise(UnknownOptionError, "Unknown option '#{key}'.")
56: end
57: end
# File lib/commandline/optionparser/optiondata.rb, line 63
63: def []=(key, val)
64: raise(InvalidActionError, "Cannot modify existing option data: "+
65: "#{key.inspect} => #{val.inspect}") if @opts.has_key?(key)
66: @opts[key] = val
67: end
# File lib/commandline/optionparser/optiondata.rb, line 59
59: def has_option?(key)
60: @opts.has_key?(key)
61: end
As a convenience, options may be accessed by their name without the dashes. Of course, this won‘t work for options with names like ’—with-shared’. For these names, you must still use option_data[’—with-shared’]
# File lib/commandline/optionparser/optiondata.rb, line 77
77: def method_missing(sym)
78: k1 = "--#{sym}"
79: k2 = "-#{sym}"
80: if @opts.has_key?(k1)
81: @opts[k1]
82: elsif @opts.has_key?(k2)
83: @opts[k2]
84: else
85: raise UnknownOptionError, "Unknown option (--|-)#{sym}."
86: end
87: end