Method: ActiveResource::PaginatedCollection#page

Defined in:
lib/esp/extensions/active_resource/paginated_collection.rb

#page(page_number = nil) ⇒ PaginatedCollection, self

Returns the page_number page of data.

Returns self when page_number == #current_page_number

Examples:

alerts.current_page_number # => 5
page = alerts.page(2)
alerts.current_page_number # => 5
page.current_page_number # => 2

Parameters:

  • page_number (Integer) (defaults to: nil)

    The page number of the data wanted. Must be between 1 and #last_page_number.

Returns:

Raises:

  • (ArgumentError)

    if no page number or an out-of-bounds page number is supplied.



137
138
139
140
141
142
# File 'lib/esp/extensions/active_resource/paginated_collection.rb', line 137

def page(page_number = nil)
  fail ArgumentError, "You must supply a page number." unless page_number.present?
  fail ArgumentError, "Page number cannot be less than 1." if page_number.to_i < 1
  fail ArgumentError, "Page number cannot be greater than the last page number." if page_number.to_i > last_page_number.to_i
  page_number.to_i != current_page_number.to_i ? updated_collection(from: from, page: { number: page_number, size: (next_page_params || previous_page_params)['page']['size'] }) : self
end