class RSolr::Response::PaginatedDocSet

A response module which gets mixed into the solr [“response”] array.

Attributes

page_start[RW]
page_total[RW]
per_page[RW]

Public Instance Methods

current_page() click to toggle source

Returns the current page calculated from 'rows' and 'start'

# File lib/rsolr/response.rb, line 55
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/response.rb, line 76
def has_next?
  current_page < total_pages
end
has_previous?() click to toggle source
# File lib/rsolr/response.rb, line 80
def has_previous?
  current_page > 1
end
next_page() click to toggle source

returns the next page number or the last

# File lib/rsolr/response.rb, line 72
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

# File lib/rsolr/response.rb, line 67
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'

# File lib/rsolr/response.rb, line 62
def total_pages
  @total_pages ||= per_page > 0 ? (total / per_page.to_f).ceil : 1
end