Sha256: c6c6ddfd18361273c1b43626095eecff0f15076ea0909bb20229427aa7a2bbad

Contents?: true

Size: 1.1 KB

Versions: 28

Compression:

Stored size: 1.1 KB

Contents

module Sunspot
  module DSL #:nodoc
    module Paginatable
      # Paginate your search. This works the same way as WillPaginate's
      # paginate().
      #
      # Note that Solr searches are _always_ paginated. Not calling #paginate is
      # the equivalent of calling:
      #
      #   paginate(:page => 1, :per_page => Sunspot.config.pagination.default_per_page)
      #
      # ==== Options (options)
      #
      # :page<Integer,String>:: The requested page. The default is 1.
      #
      # :per_page<Integer,String>::
      #   How many results to return per page. The default is the value in
      #   +Sunspot.config.pagination.default_per_page+
      #
      # :offset<Integer,String>::
      #   Applies a shift to paginated records. The default is 0.
      #
      def paginate(options = {})
        page = options.delete(:page)
        per_page = options.delete(:per_page)
        offset = options.delete(:offset)
        raise ArgumentError, "unknown argument #{options.keys.first.inspect} passed to paginate" unless options.empty?
        @query.paginate(page, per_page, offset)
      end
    end
  end
end

Version data entries

28 entries across 28 versions & 6 rubygems

Version Path
erichummel-sunspot-2.0.0.pre.111215a lib/sunspot/dsl/paginatable.rb
erichummel-sunspot-2.0.0.pre.111215 lib/sunspot/dsl/paginatable.rb
sunspot-2.0.0.pre.111215 lib/sunspot/dsl/paginatable.rb
cb_sunspot-2.0.0.pre.5 lib/sunspot/dsl/paginatable.rb
cb_sunspot-2.0.0.pre.3 lib/sunspot/dsl/paginatable.rb
cb_sunspot-2.0.0.pre3 lib/sunspot/dsl/paginatable.rb
sunspot-1.3.0 lib/sunspot/dsl/paginatable.rb
sunspot-1.3.0.rc6 lib/sunspot/dsl/paginatable.rb