Module: Trxl::Variable1

Defined in:
lib/trxl/trxl_grammar.rb

Instance Method Summary collapse

Instance Method Details

#bind(value, env) ⇒ Object



4297
4298
4299
# File 'lib/trxl/trxl_grammar.rb', line 4297

def bind(value, env)
  env.merge(text_value.to_sym => value)
end

#eval(env = Environment.new) ⇒ Object



4289
4290
4291
4292
4293
4294
4295
# File 'lib/trxl/trxl_grammar.rb', line 4289

def eval(env = Environment.new)
  if env.has_key?(name)
    env[name]
  else
    raise(Trxl::MissingVariableException, "variable #{name} is not defined")
  end
end

#nameObject



4310
4311
4312
# File 'lib/trxl/trxl_grammar.rb', line 4310

def name
  text_value.to_sym
end

#to_s(env = Environment.new) ⇒ Object



4301
4302
4303
4304
4305
4306
4307
4308
# File 'lib/trxl/trxl_grammar.rb', line 4301

def to_s(env = Environment.new)
  if env.has_key?(name)
    value = env[name]
    (value.is_a?(Array) || value.is_a?(Hash)) ? value.inspect : value.to_s
  else 
    text_value
  end
end