diff --git a/lib/kaminari/models/mongoid_extension.rb b/lib/kaminari/models/mongoid_extension.rb index d6fdedd..bcf5bc5 100644 --- a/lib/kaminari/models/mongoid_extension.rb +++ b/lib/kaminari/models/mongoid_extension.rb @@ -20,7 +20,7 @@ module Kaminari kls.send(:include, Kaminari::MongoidExtension::Document.dup) end alias_method_chain :inherited, :kaminari - end + end unless respond_to?(:inherited_with_kaminari) end end end diff --git a/spec/fake_app/mongoid/models.rb b/spec/fake_app/mongoid/models.rb index d917b2d..e107f74 100644 --- a/spec/fake_app/mongoid/models.rb +++ b/spec/fake_app/mongoid/models.rb @@ -20,6 +20,10 @@ class Device < Product paginates_per 100 end +class Android < Device + paginates_per 200 +end + class MongoMongoidExtensionDeveloper include ::Mongoid::Document field :salary, :type => Integer diff --git a/spec/models/mongoid/mongoid_spec.rb b/spec/models/mongoid/mongoid_spec.rb index 41ff832..cd35a73 100644 --- a/spec/models/mongoid/mongoid_spec.rb +++ b/spec/models/mongoid/mongoid_spec.rb @@ -218,6 +218,11 @@ if defined? Mongoid subject { Device.all.page 1 } its(:limit_value) { should == 100 } end + + context 'when paginates_per is defined in subclass of subclass' do + subject { Android.all.page 1 } + its(:limit_value) { should == 200 } + end end end end