1
0
Fork 0
mirror of https://github.com/kaminari/kaminari.git synced 2022-11-09 13:44:37 -05:00

fix vanishing mongoid criteria after calling #page

This commit is contained in:
Mohammad Satrio 2011-02-24 02:20:42 +07:00
parent 3cf08e5d9b
commit f1641dc56f
2 changed files with 23 additions and 1 deletions

View file

@ -5,7 +5,9 @@ module Kaminari
extend ActiveSupport::Concern
included do
delegate :page, :per, :num_pages, :current_page, :limit_value, :offset_value, :pagination_count, :to => '@klass'
def page(*args)
self.klass.page(*args).criteria.merge(self)
end
end
end

View file

@ -6,6 +6,7 @@ describe Kaminari::MongoidExtension do
before :all do
class Developer
include ::Mongoid::Document
field :value, :type => Integer
end
end
before do
@ -39,6 +40,25 @@ describe Kaminari::MongoidExtension do
its(:num_pages) { should == 12 }
it { should skip 0 }
end
context 'with criteria before' do
subject { Developer.where(:value => 1).page 2 }
its(:selector) { should == {:value => 1} }
its(:current_page) { should == 2 }
its(:limit_value) { should == 25 }
its(:num_pages) { should == 12 }
it { should skip 25 }
end
context 'with criteria after' do
subject { Developer.page(2).where(:value => 1) }
its(:selector) { should == {:value => 1} }
its(:current_page) { should == 2 }
its(:limit_value) { should == 25 }
its(:num_pages) { should == 12 }
it { should skip 25 }
end
end
describe '#per' do