module Pagers::Extensions::ActiveRecord::Relation

Public Instance Methods

first_page() click to toggle source
# File lib/pagers/extensions/active_record/relation.rb, line 19
def first_page
  1
end
last_page() click to toggle source
# File lib/pagers/extensions/active_record/relation.rb, line 23
def last_page
  total_pages
end
next_page() click to toggle source
# File lib/pagers/extensions/active_record/relation.rb, line 15
def next_page
  @next_page ||= (current_page < total_pages ? (current_page + 1) : nil)
end
out_of_bounds?() click to toggle source
# File lib/pagers/extensions/active_record/relation.rb, line 27
def out_of_bounds?
  @out_of_bounds ||= (current_page > total_pages || current_page < first_page)
end
previous_page() click to toggle source
# File lib/pagers/extensions/active_record/relation.rb, line 11
def previous_page
  @previous_page ||= (current_page > 1 ? (current_page - 1) : nil)
end
total_count() click to toggle source
# File lib/pagers/extensions/active_record/relation.rb, line 31
def total_count
  @total_count ||= begin
    r = except(:limit, :offset, :order)
    r = r.except(:includes) unless references_eager_loaded_tables?
    r = r.count
    (r.respond_to?(:count) ? r.count : r) - padding
  end
end
total_pages() click to toggle source
# File lib/pagers/extensions/active_record/relation.rb, line 7
def total_pages
  @total_pages ||= [(total_count.to_f / page_length).ceil, 1].max
end