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