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