Class: Copper::SingleVarDefinition

Inherits:
CopperNode
  • Object
show all
Defined in:
lib/copper/single_var_definition.rb

Constant Summary collapse

RESERVED_VARS =
[:semver, :array, :string]

Instance Method Summary collapse

Instance Method Details

#value(vars = {}) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/copper/single_var_definition.rb', line 5

def value(vars = {})
	variables = vars[:variables] || {}

	lhr = elements[0].value(vars)
	rhs = elements[1].value(vars)

	# check for resevered words
	raise ::Copper::RuntimeError, "#{lhr} is a reserved word" if ::Copper::SingleVarDefinition::RESERVED_VARS.include?(lhr.to_sym)

	variables[lhr.to_sym] = rhs
	vars[:variables] = variables

	return nil
end