class MSS::Core::PageResult
Attributes
collection[R]
@return [Collection] Returns the collection that was used to
populated this page of results.
next_token[R]
@return [String] An opaque token that can be passed the page method
of the collection that returned this page of results. This next token behaves as a pseudo offset. If `next_token` is `nil` then there are no more results for the collection.
per_page[R]
@return [Integer] Returns the maximum number of results per page.
The final page in a collection may return fewer than `:per_page` items (e.g. `:per_page` is 10 and there are only 7 items).
Public Class Methods
new(collection, items, per_page, next_token)
click to toggle source
@param [Collection] collection The collection that was used to
request this page of results. The collection should respond to #page and accept a :next_token option.
@param [Array] items An array of result items that represent a
page of results.
@param [Integer] per_page
The number of requested items for this
page of results. If the count of items is smaller than `per_page` then this is the last page of results.
@param [String] next_token
(nil) A token that can be passed to the
Calls superclass method
# File lib/mss/core/page_result.rb, line 45 def initialize collection, items, per_page, next_token @collection = collection @per_page = per_page @next_token = next_token super(items) end
Public Instance Methods
last_page?()
click to toggle source
@return [Boolean] Returns `true` if this is the last page of results.
# File lib/mss/core/page_result.rb, line 63 def last_page? next_token.nil? end
more?()
click to toggle source
@return [Boolean] Returns `true` if there are more pages of results.
# File lib/mss/core/page_result.rb, line 68 def more? !!next_token end
next_page()
click to toggle source
@return [PageResult] @raise [RuntimeError] Raises a runtime error when called against
a collection that has no more results (i.e. #last_page? == true).
# File lib/mss/core/page_result.rb, line 55 def next_page if last_page? raise 'unable to get the next page, already at the last page' end collection.page(:per_page => per_page, :next_token => next_token) end