Object
Data resulting from parsing a command line (Array) using a particular OptionParser object
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 def initialize(argv, opts, unknown_options, args, not_parsed, cmd) @opts = {} opts.each { |k,v| @opts[k] = begin Marshal.load(Marshal.dump(v)) rescue v end } @unknown_options = Marshal.load(Marshal.dump(unknown_options)) @not_parsed = Marshal.load(Marshal.dump(not_parsed)) @argv = Marshal.load(Marshal.dump(argv)) @args = Marshal.load(Marshal.dump(args)) @cmd = Marshal.load(Marshal.dump(cmd)) end
# File lib/commandline/optionparser/optiondata.rb, line 51 def [](key) if @opts.has_key?(key) @opts[key] else raise(UnknownOptionError, "Unknown option '#{key}'.") end end
# File lib/commandline/optionparser/optiondata.rb, line 63 def []=(key, val) raise(InvalidActionError, "Cannot modify existing option data: "+ "#{key.inspect} => #{val.inspect}") if @opts.has_key?(key) @opts[key] = val end
# File lib/commandline/optionparser/optiondata.rb, line 59 def has_option?(key) @opts.has_key?(key) 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
# File lib/commandline/optionparser/optiondata.rb, line 77 def method_missing(sym) k1 = "--#{sym}" k2 = "-#{sym}" if @opts.has_key?(k1) @opts[k1] elsif @opts.has_key?(k2) @opts[k2] else raise UnknownOptionError, "Unknown option (--|-)#{sym}." end end
Generated with the Darkfish Rdoc Generator 2.