class Wongi::Engine::AssignmentNode
Public Class Methods
new(parent, variable, body)
click to toggle source
Calls superclass method
# File lib/wongi-engine/beta/assignment_node.rb, line 5 def initialize parent, variable, body super parent @variable, @body = variable, body end
Public Instance Methods
beta_activate(token, wme = nil, assignments = { })
click to toggle source
# File lib/wongi-engine/beta/assignment_node.rb, line 10 def beta_activate token, wme = nil, assignments = { } children.each do |child| child.beta_activate Token.new( child, token, nil, { @variable => @body.respond_to?(:call) ? @body.call(token) : @body } ) end end
beta_deactivate(token)
click to toggle source
# File lib/wongi-engine/beta/assignment_node.rb, line 16 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
refresh_child(child)
click to toggle source
# File lib/wongi-engine/beta/assignment_node.rb, line 27 def refresh_child child tmp = children self.children = [ child ] parent.tokens.each do |token| children.each do |child| child.beta_activate Token.new( child, token, nil, { @variable => @body.respond_to?(:call) ? @body.call(token) : @body } ) end end self.children = tmp end