module WillPaginateMongoid::MongoidPaginator
Public Class Methods
base_options(options)
click to toggle source
# File lib/will_paginate_mongoid/mongoid_paginator.rb, line 23 def self.base_options(options) options[:page] ||= 1 options[:per_page] ||= (WillPaginate.per_page || 10) options[:offset] = (options[:page].to_i - 1) * options[:per_page].to_i options end
fill_pager_with(medias, size, pager)
click to toggle source
# File lib/will_paginate_mongoid/mongoid_paginator.rb, line 30 def self.fill_pager_with(medias, size, pager) pager.replace medias.to_a pager.total_entries = size end
page(page)
click to toggle source
# File lib/will_paginate_mongoid/mongoid_paginator.rb, line 17 def self.page(page) paginate({page: page}) end
paginate(options = {})
click to toggle source
# File lib/will_paginate_mongoid/mongoid_paginator.rb, line 8 def self.paginate(options = {}) options = base_options options WillPaginate::Collection.create(options[:page], options[:per_page]) do |pager| fill_pager_with self.skip(options[:offset]).limit(options[:per_page]), self.count, pager end end