Sha256: 1af13643201f308bccc2220607c366f3462eab5a96019a7a336d0b53a4b77d9d

Contents?: true

Size: 437 Bytes

Versions: 1

Compression:

Stored size: 437 Bytes

Contents

require_relative 'pass_thru'

module ConceptQL
  module Operators
    class Union < PassThru
      desc 'Pools sets of incoming results into a single large set of results.'
      allows_many_upstreams
      category 'Set Logic'

      def query(db)
        values.map do |expression|
          expression.evaluate(db).from_self
        end.inject do |q, query|
          q.union(query, all: true)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
conceptql-0.2.0 lib/conceptql/operators/union.rb