Sha256: 32bb92f9be179e14995a46dea25a75493ec822a4ffad5aac95ef76ca7cfd1563

Contents?: true

Size: 747 Bytes

Versions: 18

Compression:

Stored size: 747 Bytes

Contents

module CloudSesame
  module Query
    module AST
      module Abstract
        class MultiExpressionOperator < Operator

          def <<(object)
            children << object
          end

          def applied(included = true)
            children.map { |child| child.applied included }
          end

          def children
            @children ||= build_children
          end

          def compile(_ = nil)
            if !children.empty? && (compiled = children.compile) && !compiled.empty?
              "(#{ symbol  }#{ boost } #{ compiled })"
            end
          end

          private

          def build_children
            MultiExpressionOperatorChildren.build(self)
          end

        end

      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
CloudSesame-1.0.1 lib/cloud_sesame/query/ast/abstract/multi_expression_operator.rb
CloudSesame-1.0.0 lib/cloud_sesame/query/ast/abstract/multi_expression_operator.rb
CloudSesame-0.9.4 lib/cloud_sesame/query/ast/abstract/multi_expression_operator.rb
CloudSesame-0.9.3 lib/cloud_sesame/query/ast/abstract/multi_expression_operator.rb
CloudSesame-0.9.2 lib/cloud_sesame/query/ast/abstract/multi_expression_operator.rb
CloudSesame-0.9.1 lib/cloud_sesame/query/ast/abstract/multi_expression_operator.rb
CloudSesame-0.9.0 lib/cloud_sesame/query/ast/abstract/multi_expression_operator.rb
CloudSesame-0.8.3 lib/cloud_sesame/query/ast/abstract/multi_expression_operator.rb
CloudSesame-0.8.2 lib/cloud_sesame/query/ast/abstract/multi_expression_operator.rb
CloudSesame-0.8.1 lib/cloud_sesame/query/ast/abstract/multi_expression_operator.rb
CloudSesame-0.8.0 lib/cloud_sesame/query/ast/abstract/multi_expression_operator.rb
CloudSesame-0.7.13 lib/cloud_sesame/query/ast/abstract/multi_expression_operator.rb
CloudSesame-0.7.12 lib/cloud_sesame/query/ast/abstract/multi_expression_operator.rb
CloudSesame-0.7.11 lib/cloud_sesame/query/ast/abstract/multi_expression_operator.rb
CloudSesame-0.7.10 lib/cloud_sesame/query/ast/abstract/multi_expression_operator.rb
CloudSesame-0.7.9 lib/cloud_sesame/query/ast/abstract/multi_expression_operator.rb
CloudSesame-0.7.8 lib/cloud_sesame/query/ast/abstract/multi_expression_operator.rb
CloudSesame-0.7.7 lib/cloud_sesame/query/ast/abstract/multi_expression_operator.rb