Class: AWS::Core::PageResult

Inherits:
Array
  • Object
show all
Defined in:
lib/aws/core/page_result.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(collection, items, per_page, next_token) ⇒ PageResult



46
47
48
49
50
51
# 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

Instance Attribute Details

#collectionCollection (readonly)



20
21
22
# File 'lib/aws/core/page_result.rb', line 20

def collection
  @collection
end

#next_tokenString (readonly)



31
32
33
# File 'lib/aws/core/page_result.rb', line 31

def next_token
  @next_token
end

#per_pageInteger (readonly)



25
26
27
# File 'lib/aws/core/page_result.rb', line 25

def per_page
  @per_page
end

Instance Method Details

#last_page?Boolean



64
65
66
# File 'lib/aws/core/page_result.rb', line 64

def last_page?
  next_token.nil?
end

#more?Boolean



69
70
71
# File 'lib/aws/core/page_result.rb', line 69

def more?
  !!next_token
end

#next_pagePageResult

Raises:

  • (RuntimeError)

    Raises a runtime error when called against a collection that has no more results (i.e. #last_page? == true).



56
57
58
59
60
61
# 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