Sha256: 19359184f2e8f460e1210190e5ee4d24bcf4414b3836f4fadf14216681e05d99

Contents?: true

Size: 641 Bytes

Versions: 5

Compression:

Stored size: 641 Bytes

Contents

module Rasti
  module DB
    module NQL
      module Nodes
        class BinaryNode < Treetop::Runtime::SyntaxNode

          def dependency_tables
            values.flat_map(&:dependency_tables)
          end

          def computed_attributes(collection_class)
            left.computed_attributes(collection_class) | right.computed_attributes(collection_class)
          end

          def values
            @values ||= values_for(left) + values_for(right)
          end

          private

          def values_for(node)
            node.class == self.class ? node.values : [node]
          end

        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rasti-db-4.2.0 lib/rasti/db/nql/nodes/binary_node.rb
rasti-db-4.1.1 lib/rasti/db/nql/nodes/binary_node.rb
rasti-db-4.1.0 lib/rasti/db/nql/nodes/binary_node.rb
rasti-db-4.0.0 lib/rasti/db/nql/nodes/binary_node.rb
rasti-db-3.0.0 lib/rasti/db/nql/nodes/binary_node.rb