class Wongi::Engine::FilterNode

Attributes

test[RW]

Public Class Methods

new(parent, test) click to toggle source
Calls superclass method Wongi::Engine::BetaNode::new
# File lib/wongi-engine/beta/filter_node.rb, line 8
def initialize parent, test
  super parent
  self.test = test
end

Public Instance Methods

beta_activate(token) click to toggle source
# File lib/wongi-engine/beta/filter_node.rb, line 13
def beta_activate token
  if test.passes? token
    children.each do |child|
      child.beta_activate Token.new( child, token, nil, {} )
    end
  end
end
beta_deactivate(token) click to toggle source
# File lib/wongi-engine/beta/filter_node.rb, line 21
def beta_deactivate token
  children.each do |child|
    child.tokens.each do |t|
      if t.parent == token
        child.beta_deactivate t
        #token.destroy
      end
    end
  end
end
equivalent?(test) click to toggle source
# File lib/wongi-engine/beta/filter_node.rb, line 32
def equivalent? test
  test == self.test
end
refresh_child(child) click to toggle source
# File lib/wongi-engine/beta/filter_node.rb, line 36
def refresh_child child
  tmp = children
  self.children = [ child ]
  parent.tokens.each do |token|
    beta_activate token
  end
  self.children = tmp
end