Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
46 lines (39 sloc) 1.09 KB
module Kaminari
module PageScopeMethods
# Specify the <tt>per_page</tt> value for the preceding <tt>page</tt> scope
# Model.page(3).per(10)
def per(num)
if (n = num.to_i) <= 0
self
elsif max_per_page && max_per_page < n
limit(max_per_page).offset(offset_value / limit_value * max_per_page)
else
limit(n).offset(offset_value / limit_value * n)
end
end
def padding(num)
offset(offset_value + num.to_i)
end
# Total number of pages
def total_pages
(total_count.to_f / limit_value).ceil
end
#FIXME for compatibility. remove num_pages at some time in the future
def num_pages
ActiveSupport::Deprecation.warn('num_pages is deprecated and will be removed from next major or minor release')
total_pages
end
# Current page number
def current_page
(offset_value / limit_value) + 1
end
# First page of the collection ?
def first_page?
current_page == 1
end
# Last page of the collection?
def last_page?
current_page >= total_pages
end
end
end
Jump to Line
Something went wrong with that request. Please try again.