class Elastic::Nodes::And
Public Class Methods
build(_children)
click to toggle source
# File lib/elastic/nodes/and.rb, line 3 def self.build(_children) new.tap { |node| node.children = _children } end
Public Instance Methods
add_child(_child)
click to toggle source
# File lib/elastic/nodes/and.rb, line 7 def add_child(_child) @children << _child end
children=(_value)
click to toggle source
# File lib/elastic/nodes/and.rb, line 11 def children=(_value) @children = _value.dup.to_a end
clone()
click to toggle source
Calls superclass method
# File lib/elastic/nodes/and.rb, line 20 def clone prepare_clone super, @children.map(&:clone) end
render(_options = {})
click to toggle source
# File lib/elastic/nodes/and.rb, line 30 def render(_options = {}) { operation => @children.map { |c| c.render(_options) } } end
simplify()
click to toggle source
Calls superclass method
# File lib/elastic/nodes/and.rb, line 24 def simplify new_children = @children.map(&:simplify) return new_children.first if new_children.count == 1 prepare_clone(super, new_children) end
traverse(&_block)
click to toggle source
Calls superclass method
# File lib/elastic/nodes/and.rb, line 15 def traverse(&_block) super @children.each { |c| c.traverse(&_block) } end
Private Instance Methods
operation()
click to toggle source
# File lib/elastic/nodes/and.rb, line 41 def operation 'and' end
prepare_clone(_clone, _children)
click to toggle source
# File lib/elastic/nodes/and.rb, line 36 def prepare_clone(_clone, _children) _clone.children = _children _clone end