Sha256: 20e7fac7fafdcfa612ff7ad7166dd0c09c73ed610567bb54898ad372c86fdd9f

Contents?: true

Size: 828 Bytes

Versions: 20

Compression:

Stored size: 828 Bytes

Contents

module Sunspot
  module Query
    # 
    # The SortComposite class encapsulates an ordered collection of Sort
    # objects. It's necessary to keep this as a separate class as Solr takes
    # the sort as a single parameter, so adding sorts as regular components
    # would not merge correctly in the #to_params method.
    #
    class SortComposite #:nodoc:
      def initialize
        @sorts = []
      end

      # 
      # Add a sort to the composite
      #
      def <<(sort)
        @sorts << sort
      end

      # 
      # Combine the sorts into a single param by joining them
      #
      def to_params(prefix = "")
        unless @sorts.empty?
          key = "#{prefix}sort".to_sym
          { key => @sorts.map { |sort| sort.to_param } * ', ' }
        else
          {}
        end
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 5 rubygems

Version Path
sunspot-2.1.1 lib/sunspot/query/sort_composite.rb
sunspot-2.1.0 lib/sunspot/query/sort_composite.rb
sunspot-2.0.0 lib/sunspot/query/sort_composite.rb
sunspot-2.0.0.pre.130115 lib/sunspot/query/sort_composite.rb
gojee-sunspot-2.0.5 lib/sunspot/query/sort_composite.rb
sunspot-2.0.0.pre.120925 lib/sunspot/query/sort_composite.rb
sunspot_solr-2.0.0.pre.120924 sunspot/lib/sunspot/query/sort_composite.rb
sunspot_rails-2.0.0.pre.120924 sunspot/lib/sunspot/query/sort_composite.rb
sunspot-2.0.0.pre.120924 sunspot/lib/sunspot/query/sort_composite.rb
gojee-sunspot-2.0.4 lib/sunspot/query/sort_composite.rb
gojee-sunspot-2.0.2 lib/sunspot/query/sort_composite.rb
sunspot-2.0.0.pre.120720 lib/sunspot/query/sort_composite.rb
sunspot-2.0.0.pre.120417 lib/sunspot/query/sort_composite.rb
sunspot-2.0.0.pre.120415 lib/sunspot/query/sort_composite.rb
erichummel-sunspot-2.0.0.pre.111215d lib/sunspot/query/sort_composite.rb
erichummel-sunspot-2.0.0.pre.111215c lib/sunspot/query/sort_composite.rb
erichummel-sunspot-2.0.0.pre.111215b lib/sunspot/query/sort_composite.rb
erichummel-sunspot-2.0.0.pre.111215a lib/sunspot/query/sort_composite.rb
erichummel-sunspot-2.0.0.pre.111215 lib/sunspot/query/sort_composite.rb
sunspot-2.0.0.pre.111215 lib/sunspot/query/sort_composite.rb