Class: Hivehook::Resources::BaseService

Inherits:
Object
  • Object
show all
Defined in:
lib/hivehook/resources/base_service.rb

Instance Method Summary collapse

Constructor Details

#initialize(transport) ⇒ BaseService

Returns a new instance of BaseService.



6
7
8
# File 'lib/hivehook/resources/base_service.rb', line 6

def initialize(transport)
  @transport = transport
end

Instance Method Details

#iterate(options = {}) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/hivehook/resources/base_service.rb', line 10

def iterate(options = {})
  return enum_for(:iterate, options) unless block_given?

  opts = options.dup
  offset = opts[:offset] || 0
  loop do
    opts[:offset] = offset
    conn = list(opts)
    nodes = conn["nodes"] || []
    nodes.each { |node| yield node }
    page_info = conn["pageInfo"] || {}
    break if !page_info["hasNextPage"] || nodes.empty?

    offset += nodes.length
  end
end