Sha256: 29e5349df0c1c6d9dcabcd9e457cd178003d9fd85f0d5e332112cd87fc3344a6

Contents?: true

Size: 850 Bytes

Versions: 3

Compression:

Stored size: 850 Bytes

Contents

module CloudSesame
  module Query
    module AST
      class MultiExpressionOperator < Operator
        include DSL::Base
        include DSL::BlockMethods
        include DSL::FieldMethods
        include DSL::FilterQueryMethods
        include DSL::OperatorMethods
        include DSL::RangeMethods
        include DSL::ScopeMethods

        def children
          @children ||= create_children
        end

        def compile
          "(#{ self.class::SYMBOL  }#{ boost } #{ children.compile })" unless children.empty?
        end

        def <<(object)
          children << object
        end

        def is_excluded
          children.map(&:is_excluded)
        end

        private

        def create_children
          array = FieldArray.new
          array.dsl_scope = dsl_scope
          array
        end

      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
CloudSesame-0.2.5 lib/cloud_sesame/query/ast/multi_expression_operator.rb
CloudSesame-0.2.4 lib/cloud_sesame/query/ast/multi_expression_operator.rb
CloudSesame-0.2.3 lib/cloud_sesame/query/ast/multi_expression_operator.rb