Sha256: e84a810d58502668c09a2acaae76a8d095a578516f5a1a32f6445ee81f498e05

Contents?: true

Size: 509 Bytes

Versions: 1

Compression:

Stored size: 509 Bytes

Contents

require "mongoid_paginate/version"

module Mongoid::Paginate
  def self.included(base)
    base.send(:cattr_accessor, :per_page)
    base.per_page = 10
    base.extend PaginateClassMethods
  end

  module PaginateClassMethods
    def paginate(opts={})
      self.per_page = opts[:per_page] if opts[:per_page]
      self.scope :paginate, ->(page) {
        limit(self.per_page).skip((page.to_i - 1) * self.per_page)
      }
    end

    def pages
      (self.count / self.per_page.to_f).ceil
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mongoid_paginate-0.0.1 lib/mongoid_paginate.rb