Parent

CommandLine::OptionData

Data resulting from parsing a command line (Array) using a particular OptionParser object

Attributes

args[R]
argv[R]
cmd[R]
not_parsed[R]
unknown_options[R]

Public Class Methods

new(argv, opts, unknown_options, args, not_parsed, cmd) click to toggle source

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

Public Instance Methods

[](key) click to toggle source
# 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
[]=(key, val) click to toggle source
# 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
has_option?(key) click to toggle source
# File lib/commandline/optionparser/optiondata.rb, line 59
def has_option?(key)
  @opts.has_key?(key)
end
method_missing(sym) click to toggle source

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
to_h() click to toggle source
# File lib/commandline/optionparser/optiondata.rb, line 69
def to_h
  Marshal.load(Marshal.dump(@opts))
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.