Sha256: 425da73137aaee29c2ef574ce881d27e095ea2958bed4f1a7ea470df6209fff0

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::ScopeMethods
        include DSL::ValueMethods

        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.2 lib/cloud_sesame/query/ast/multi_expression_operator.rb
CloudSesame-0.2.1 lib/cloud_sesame/query/ast/multi_expression_operator.rb
CloudSesame-0.2.0 lib/cloud_sesame/query/ast/multi_expression_operator.rb