Module: Renshi::AttributeExpressions
- Defined in:
- lib/renshi/attribute_expressions.rb,
lib/renshi/attribute_expressions/if.rb,
lib/renshi/attribute_expressions/for.rb,
lib/renshi/attribute_expressions/each.rb,
lib/renshi/attribute_expressions/else.rb,
lib/renshi/attribute_expressions/elsif.rb,
lib/renshi/attribute_expressions/while.rb,
lib/renshi/attribute_expressions/unless.rb
Defined Under Namespace
Classes: Each, Else, Elsif, For, If, Unless, While
Class Method Summary
collapse
Class Method Details
.encode_xml_entities(expression) ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/renshi/attribute_expressions.rb', line 12
def self.perform_expression(node, command)
expression = command[0][2..-1]
obj = nil
begin
obj = eval "Renshi::AttributeExpressions::#{expression.capitalize}.new"
rescue StandardError
raise Renshi::SyntaxError, "Could not find attribute expression called #{expression}.rb", caller
end
expression = encode_xml_entities(command[1].to_s)
obj.evaluate(expression, node)
node.remove_attribute(command[0])
end
|