Class CommandLine::OptionData
In: lib/commandline/optionparser/CVS/Base/optiondata.rb
lib/commandline/optionparser/optiondata.rb
Parent: Object
OptionData\n[lib/commandline/optionparser/CVS/Base/optiondata.rb\nlib/commandline/optionparser/optiondata.rb] Application\n[lib/commandline/CVS/Base/application.rb\nlib/commandline/application.rb] Application_wo_AutoRun Option\n[lib/commandline/optionparser/CVS/Base/option.rb\nlib/commandline/optionparser/option.rb] OptionParser\n[lib/commandline/optionparser/CVS/Base/optionparser.rb\nlib/commandline/optionparser/optionparser.rb] lib/commandline/optionparser/optiondata.rb lib/commandline/application.rb lib/commandline/optionparser/option.rb lib/commandline/optionparser/optionparser.rb CommandLine Module: CommandLine

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

Methods

[]   []   []=   []=   has_option?   method_missing   new   new   to_h   to_h  

Classes and Modules

Class CommandLine::OptionData::InvalidActionError
Class CommandLine::OptionData::OptionDataError
Class CommandLine::OptionData::UnknownOptionError

Attributes

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

Public Class methods

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

[Source]

    # 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

[Source]

    # 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

Public Instance methods

[Source]

    # 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

[Source]

    # 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

[Source]

    # 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

[Source]

    # 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

[Source]

    # 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’]

[Source]

    # 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

[Source]

    # File lib/commandline/optionparser/CVS/Base/optiondata.rb, line 65
65:   def to_h
66:     Marshal.load(Marshal.dump(@opts))
67:   end

[Source]

    # File lib/commandline/optionparser/optiondata.rb, line 69
69:   def to_h
70:     Marshal.load(Marshal.dump(@opts))
71:   end

[Validate]