Class: Aikido::PaginatedResponse

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/aikido/paginated_response.rb

Overview

Represents a reponse that is paginated

Instance Method Summary collapse

Constructor Details

#initialize(&block) ⇒ PaginatedResponse

Returns a new instance of PaginatedResponse.



8
9
10
11
12
# File 'lib/aikido/paginated_response.rb', line 8

def initialize(&block)
  @page_loader = block
  @pages = []
  load_page(0)
end

Instance Method Details

#each(&block) ⇒ Object



14
15
16
17
18
19
20
21
22
23
# File 'lib/aikido/paginated_response.rb', line 14

def each(&block)
  return enum_for(:each) unless block_given?

  loop.with_index do |_, index|
    page = load_page(index)
    break if page.empty?

    page.each(&block)
  end
end