module RSolr::Pagination::PaginatedDocSet
A response module which gets mixed into the solr [“response”] array.
Attributes
per_page[RW]
start[RW]
total[RW]
Public Instance Methods
current_page()
click to toggle source
Returns the current page calculated from 'rows' and 'start' WillPaginate hook
# File lib/rsolr/pagination.rb, line 88 def current_page return 1 if start < 1 per_page_normalized = per_page < 1 ? 1 : per_page @current_page ||= (start / per_page_normalized).ceil + 1 end
has_next?()
click to toggle source
# File lib/rsolr/pagination.rb, line 112 def has_next? current_page < total_pages end
has_previous?()
click to toggle source
# File lib/rsolr/pagination.rb, line 116 def has_previous? current_page > 1 end
next_page()
click to toggle source
returns the next page number or the last WillPaginate hook
# File lib/rsolr/pagination.rb, line 108 def next_page @next_page ||= (current_page == total_pages) ? total_pages : current_page+1 end
previous_page()
click to toggle source
returns the previous page number or 1 WillPaginate hook
# File lib/rsolr/pagination.rb, line 102 def previous_page @previous_page ||= (current_page > 1) ? current_page - 1 : 1 end
total_pages()
click to toggle source
Calcuates the total pages from 'numFound' and 'rows' WillPaginate hook
# File lib/rsolr/pagination.rb, line 96 def total_pages @total_pages ||= per_page > 0 ? (total / per_page.to_f).ceil : 1 end