2011-06-08 15:37:26 +00:00
|
|
|
require 'kaminari/models/mongoid_criteria_methods'
|
2011-04-19 07:05:18 +00:00
|
|
|
|
2011-02-16 06:23:41 +00:00
|
|
|
module Kaminari
|
2011-02-18 05:52:17 +00:00
|
|
|
module MongoidExtension
|
2011-02-17 23:07:23 +00:00
|
|
|
module Criteria
|
|
|
|
extend ActiveSupport::Concern
|
|
|
|
|
|
|
|
included do
|
2011-12-17 00:48:10 +00:00
|
|
|
class_eval <<-RUBY, __FILE__, __LINE__ + 1
|
|
|
|
def #{Kaminari.config.page_method_name}(*args)
|
|
|
|
super(*args).criteria.merge(self)
|
|
|
|
end
|
|
|
|
RUBY
|
2011-02-17 23:07:23 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
module Document
|
|
|
|
extend ActiveSupport::Concern
|
2011-02-20 04:04:18 +00:00
|
|
|
include Kaminari::ConfigurationMethods
|
2011-02-17 23:07:23 +00:00
|
|
|
|
|
|
|
included do
|
|
|
|
# Fetch the values at the specified page number
|
|
|
|
# Model.page(5)
|
2011-12-17 00:48:10 +00:00
|
|
|
scope Kaminari.config.page_method_name, Proc.new {|num|
|
2011-02-17 23:07:23 +00:00
|
|
|
limit(default_per_page).offset(default_per_page * ([num.to_i, 1].max - 1))
|
|
|
|
} do
|
2011-02-20 04:04:18 +00:00
|
|
|
include Kaminari::MongoidCriteriaMethods
|
|
|
|
include Kaminari::PageScopeMethods
|
2011-02-17 23:07:23 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2011-02-16 06:23:41 +00:00
|
|
|
end
|
|
|
|
end
|