Class: Sequence::Query::PageQuery

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/sequence/query.rb

Instance Method Summary collapse

Constructor Details

#initialize(client, query, fetch, translate) ⇒ PageQuery

Returns a new instance of PageQuery.



55
56
57
58
59
60
# File 'lib/sequence/query.rb', line 55

def initialize(client, query, fetch, translate)
  @client = client
  @query = query
  @fetch = fetch
  @translate = translate
end

Instance Method Details

#eachObject



62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/sequence/query.rb', line 62

def each
  page = nil

  loop do
    page = Page.new(@fetch.call(@query), @translate)
    @query = page.next

    yield page

    break if page.last_page

    # The second predicate (empty?) *should* be redundant, but we check it
    # anyway as a defensive measure.
    break if page.items.empty?
  end
end