class Bindy::Context
Attributes
variables[R]
Public Class Methods
new(variables={})
click to toggle source
# File lib/bindy/context.rb, line 7 def initialize(variables={}) @variables = variables end
Public Instance Methods
evaluate(expression)
click to toggle source
# File lib/bindy/context.rb, line 11 def evaluate(expression) raise ArgumentError, "Expression must be a string (#{expression})" unless expression.kind_of?(String) Language.parse(expression).evaluate(self) end
var(name)
click to toggle source
# File lib/bindy/context.rb, line 16 def var(name) name.split('.').inject(variables) do |vars, key| vars.fetch(key) { vars.fetch(key.to_sym) } end rescue KeyError raise ArgumentError, "Undefined variable #{name}" end