Class | CommandLine::OptionData |
In: |
lib/commandline/optionparser/CVS/Base/optiondata.rb
lib/commandline/optionparser/optiondata.rb |
Parent: | Object |
Data resulting from parsing a command line (Array) using a particular OptionParser object
args | [R] | |
args | [R] | |
argv | [R] | |
argv | [R] | |
cmd | [R] | |
cmd | [R] | |
not_parsed | [R] | |
not_parsed | [R] | |
unknown_options | [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
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/CVS/Base/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/CVS/Base/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/CVS/Base/optiondata.rb, line 59 59: def []=(key, val) 60: raise(InvalidActionError, "Cannot modify existing option data: "+ 61: "#{key.inspect} => #{val.inspect}") if @opts.has_key?(key) 62: @opts[key] = val 63: 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