Class: Uber::Options

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

Defined Under Namespace

Classes: Value

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Options

Returns a new instance of Options.



5
6
7
8
9
10
11
12
# File 'lib/uber/options.rb', line 5

def initialize(options)
  @static = options

  options.each do |k,v|
    self[k] = option = Value.new(v)
    @static = nil if option.dynamic?
  end
end

Instance Method Details

#eval(key, *args) ⇒ Object

Evaluates a single value.



26
27
28
# File 'lib/uber/options.rb', line 26

def eval(key, *args)
  self[key].evaluate(*args)
end

#evaluate(context, *args) ⇒ Object

Evaluates every element and returns a hash. Accepts context and arbitrary arguments.



19
20
21
22
23
# File 'lib/uber/options.rb', line 19

def evaluate(context, *args)
  return @static unless dynamic?

  evaluate_for(context, *args)
end