class Rulezilla::Node
Attributes
children[RW]
condition[RW]
default[R]
name[R]
parent[RW]
result[W]
Public Class Methods
new()
click to toggle source
# File lib/rulezilla/node.rb, line 12 def initialize @children = [] end
Public Instance Methods
add_child(node)
click to toggle source
# File lib/rulezilla/node.rb, line 38 def add_child(node) node.parent = self children << node end
applies?(record)
click to toggle source
# File lib/rulezilla/node.rb, line 24 def applies?(record) return true if condition.nil? !!record.instance_eval(&condition) end
has_children?()
click to toggle source
# File lib/rulezilla/node.rb, line 16 def has_children? children.any? end
has_result?()
click to toggle source
# File lib/rulezilla/node.rb, line 20 def has_result? !@result.nil? end
name=(value)
click to toggle source
# File lib/rulezilla/node.rb, line 34 def name=(value) @name = value.to_s end
result(record)
click to toggle source
# File lib/rulezilla/node.rb, line 30 def result(record) @result.is_a?(Proc) ? record.instance_eval(&@result) : @result end