Class: Poms::Api::PaginationClient::Page
- Inherits:
-
Object
- Object
- Poms::Api::PaginationClient::Page
- Defined in:
- lib/poms/api/pagination_client.rb
Overview
Keep track of number of items and how many have been retrieved
Instance Method Summary collapse
- #execute ⇒ Object
- #final? ⇒ Boolean
-
#initialize(uri, offset = 0) ⇒ Page
constructor
A new instance of Page.
- #items ⇒ Object
- #next_page ⇒ Object
Constructor Details
#initialize(uri, offset = 0) ⇒ Page
Returns a new instance of Page.
31 32 33 34 |
# File 'lib/poms/api/pagination_client.rb', line 31 def initialize(uri, offset = 0) uri.query_values = { offset: offset } @uri = uri end |
Instance Method Details
#execute ⇒ Object
48 49 50 |
# File 'lib/poms/api/pagination_client.rb', line 48 def execute @response = yield uri end |
#final? ⇒ Boolean
40 41 42 |
# File 'lib/poms/api/pagination_client.rb', line 40 def final? next_index >= response['total'] end |
#items ⇒ Object
44 45 46 |
# File 'lib/poms/api/pagination_client.rb', line 44 def items response['items'] end |
#next_page ⇒ Object
36 37 38 |
# File 'lib/poms/api/pagination_client.rb', line 36 def next_page self.class.new(uri, next_index) end |