class AWS::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/aws/core/page_result.rb, line 46
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/aws/core/page_result.rb, line 64
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/aws/core/page_result.rb, line 69
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/aws/core/page_result.rb, line 56
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