Sha256: 699c599cc4949f363e14598942a64a1e781499c934e3dbba99bb3b13f656e33e
Contents?: true
Size: 832 Bytes
Versions: 1
Compression:
Stored size: 832 Bytes
Contents
module Elastic::Nodes class And < Base def self.build(_children) new.tap { |node| node.children = _children } end def add_child(_child) @children << _child end def children=(_value) @children = _value.dup.to_a end def traverse(&_block) super @children.each { |c| c.traverse(&_block) } end def clone prepare_clone super, @children.map(&:clone) end def simplify new_children = @children.map(&:simplify) return new_children.first if new_children.count == 1 prepare_clone(super, new_children) end def render { operation => @children.map(&:render) } end private def prepare_clone(_clone, _children) _clone.children = _children _clone end def operation 'and' end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
elastic-rails-0.5.0 | lib/elastic/nodes/and.rb |