Class: Poms::Api::PaginationClient::Page

Inherits:
Object
  • Object
show all
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

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

#executeObject



48
49
50
# File 'lib/poms/api/pagination_client.rb', line 48

def execute
  @response = yield uri
end

#final?Boolean

Returns:

  • (Boolean)


40
41
42
# File 'lib/poms/api/pagination_client.rb', line 40

def final?
  next_index >= response['total']
end

#itemsObject



44
45
46
# File 'lib/poms/api/pagination_client.rb', line 44

def items
  response['items']
end

#next_pageObject



36
37
38
# File 'lib/poms/api/pagination_client.rb', line 36

def next_page
  self.class.new(uri, next_index)
end