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