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.



67
68
69
70
71
72
# File 'lib/sequence/query.rb', line 67

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

Instance Method Details

#eachObject



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/sequence/query.rb', line 74

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

#pageObject



91
92
93
# File 'lib/sequence/query.rb', line 91

def page
  Page.new(@fetch.call(@query), @translate)
end