class Copper::RuleDefinition

Public Instance Methods

value(vars = {}) click to toggle source
# File lib/copper/rule_definition.rb, line 4
def value(vars = {})
        rules = vars[:rules] || []
        t = {}
        t[:name] = elements[0].value(vars)

        raise ParseError, "a rule named #{t[:name]} already exists" if rules.detect { |x| x[:name] == t[:name] }

        t[:outcome] = elements[2].value(vars)
        t[:action] = elements[1].value(vars)

        rules << t
        vars[:rules] = rules

        return t
end