Sha256: b406abaaefd4a1327745a09c570bffa52256c95da47878a4172630f68255f3a3

Contents?: true

Size: 1019 Bytes

Versions: 54

Compression:

Stored size: 1019 Bytes

Contents

# encoding: utf-8
module Mongoid #:nodoc:
  module Contexts #:nodoc:
    module Paging
      # Paginates the documents.
      #
      # Example:
      #
      # <tt>context.paginate</tt>
      #
      # Returns:
      #
      # A collection of documents paginated.
      def paginate
        @collection ||= execute(true)
        WillPaginate::Collection.create(page, per_page, count) do |pager|
          pager.replace(@collection.to_a)
        end
      end

      # Either returns the page option and removes it from the options, or
      # returns a default value of 1.
      #
      # Returns:
      #
      # An +Integer+ page number.
      def page
        skips, limits = options[:skip], options[:limit]
        (skips && limits) ? (skips + limits) / limits : 1
      end

      # Get the number of results per page or the default of 20.
      #
      # Returns:
      #
      # The +Integer+ number of documents in each page.
      def per_page
        (options[:limit] || 20).to_i
      end
    end
  end
end

Version data entries

54 entries across 54 versions & 5 rubygems

Version Path
mongo_doc-0.6.34 lib/mongoid/contexts/paging.rb
mongo_doc-0.6.33 lib/mongoid/contexts/paging.rb
mongo_doc-0.6.32 lib/mongoid/contexts/paging.rb
mongo_doc-0.6.31 lib/mongoid/contexts/paging.rb
mongo_doc-0.6.30 lib/mongoid/contexts/paging.rb
mongo_doc-0.6.29 lib/mongoid/contexts/paging.rb
mongo_doc-0.6.28 lib/mongoid/contexts/paging.rb
mongo_doc-0.6.27 lib/mongoid/contexts/paging.rb
mongo_doc-0.6.26 lib/mongoid/contexts/paging.rb
mongo_doc-0.6.25 lib/mongoid/contexts/paging.rb
mongo_doc-0.6.23 lib/mongoid/contexts/paging.rb
mongo_doc-0.6.22 lib/mongoid/contexts/paging.rb
mongo_doc-0.6.21 lib/mongoid/contexts/paging.rb
mongo_doc-0.6.20 lib/mongoid/contexts/paging.rb
mongo_doc-0.6.19 lib/mongoid/contexts/paging.rb
mongo_doc-0.6.18 lib/mongoid/contexts/paging.rb
mongo_doc-0.6.17 lib/mongoid/contexts/paging.rb
mongo_doc-0.6.16 lib/mongoid/contexts/paging.rb
mongo_doc-0.6.15 lib/mongoid/contexts/paging.rb
mongo_doc-0.6.14 lib/mongoid/contexts/paging.rb