Remove #define_scope module function

This commit is contained in:
Yuki Nishijima 2014-12-14 21:05:47 -08:00
parent 855c3c05ce
commit d7411f29c3
1 changed files with 7 additions and 16 deletions

View File

@ -7,30 +7,21 @@ module Kaminari
include Kaminari::ConfigurationMethods
included do
Kaminari::MongoidExtension::Document.send(:define_scope, self)
scope Kaminari.config.page_method_name, Proc.new {|num|
limit(default_per_page).offset(default_per_page * ([num.to_i, 1].max - 1))
} do
include Kaminari::MongoidCriteriaMethods
include Kaminari::PageScopeMethods
end
class << self
def inherited_with_kaminari(kls)
inherited_without_kaminari(kls)
Kaminari::MongoidExtension::Document.send(:define_scope, kls)
kls.send(:include, Kaminari::MongoidExtension::Document.dup)
end
alias_method_chain :inherited, :kaminari
end
end
private
def self.define_scope(kls)
kls.class_eval do
# Fetch the values at the specified page number
# Model.page(5)
scope Kaminari.config.page_method_name, Proc.new {|num|
limit(default_per_page).offset(default_per_page * ([num.to_i, 1].max - 1))
} do
include Kaminari::MongoidCriteriaMethods
include Kaminari::PageScopeMethods
end
end
end
end
end
end