Sha256: a3450366bd2be43557c8f5234b83db6dfc865e487e548e4fe9777b0d752bff10

Contents?: true

Size: 554 Bytes

Versions: 7

Compression:

Stored size: 554 Bytes

Contents

module Sunspot
  module Query
    class CompositeFulltext
      def initialize
        @components = []
      end

      def add(keywords)
        @components << dismax = Dismax.new(keywords)
        dismax
      end

      def to_params
        case @components.length
        when 0
          {}
        when 1
          @components.first.to_params
        else
          to_subqueries
        end
      end

      private

      def to_subqueries
        { :q => @components.map { |dismax| dismax.to_subquery }.join(' ') }
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 3 rubygems

Version Path
ruben-sunspot-1.1.4 lib/sunspot/query/composite_fulltext.rb
ruben-sunspot-1.1.3 lib/sunspot/query/composite_fulltext.rb
ruben-sunspot-1.1.2 lib/sunspot/query/composite_fulltext.rb
ruben-sunspot-1.1.1 lib/sunspot/query/composite_fulltext.rb
ruben-sunspot-1.1.0 lib/sunspot/query/composite_fulltext.rb
nuatt_sunspot-1.1.0.3 lib/sunspot/query/composite_fulltext.rb
sunspot-1.1.0 lib/sunspot/query/composite_fulltext.rb