Class: Solid::Arguments::ContextVariable

Inherits:
Struct
  • Object
show all
Defined in:
lib/solid/arguments.rb

Instance Method Summary collapse

Instance Method Details

#evaluate(context) ⇒ Object



55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/solid/arguments.rb', line 55

def evaluate(context)
  var, *methods = name.split('.')
  object = context[var]
  object = methods.inject(object) do |obj, method|
    if obj.respond_to?(:public_send)
      obj.public_send(method)
    else # 1.8 fallback
      obj.send(method) if obj.respond_to?(method, false)
    end
  end
  
  return Solid.unproxify(object)
end