class Wongi::Engine::FilterNode
Attributes
test[RW]
@return [Wongi::Engine::FilterTest]
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 7 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 12 def beta_activate(token) return if tokens.find { |t| t.duplicate? token } return unless test.passes?(token) overlay.add_token(token) children.each do |child| child.beta_activate Token.new(child, token, nil, {}) end end
beta_deactivate(token)
click to toggle source
# File lib/wongi-engine/beta/filter_node.rb, line 24 def beta_deactivate(token) overlay.remove_token(token) beta_deactivate_children(token: token) end
equivalent?(test)
click to toggle source
# File lib/wongi-engine/beta/filter_node.rb, line 29 def equivalent?(test) test == self.test end
refresh_child(child)
click to toggle source
# File lib/wongi-engine/beta/filter_node.rb, line 33 def refresh_child(child) tokens.select { test.passes?(_1) }.each do |token| child.beta_activate Token.new(child, token, nil, {}) end end