Class: Optimus::Options

Inherits:
Object
  • Object
show all
Defined in:
lib/optimus/options.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(implementation) ⇒ Options

Returns a new instance of Options.



35
36
37
# File 'lib/optimus/options.rb', line 35

def initialize (implementation)
    @implementation = implementation
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args, &block) ⇒ Object



43
44
45
# File 'lib/optimus/options.rb', line 43

def method_missing (method, *args, &block)
    @implementation.interface.send(method, *args, &block)
end

Instance Attribute Details

#implementationObject (readonly)

Returns the value of attribute implementation.



23
24
25
# File 'lib/optimus/options.rb', line 23

def implementation
  @implementation
end

Class Method Details

.parse(options, values, implementation, parserOptions = nil) ⇒ Object



25
26
27
28
29
30
31
32
33
# File 'lib/optimus/options.rb', line 25

def self.parse (options, values, implementation, parserOptions=nil)
    result = Options.new(implementation)

    options.each {|option|
        result.set(option)
    }

    implementation.parser.parse(result, values, parserOptions)
end

Instance Method Details

#parse(values, options = nil) ⇒ Object



39
40
41
# File 'lib/optimus/options.rb', line 39

def parse (values, options=nil)
    @implementation.parser.parse(self, values, options)
end