blob: bbca12a1c849b090b2983f9215d6b474d5c46982 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
module Github
class Collection
def initialize(url)
@url = url
end
def fetch(query = {})
return [] if @url.blank?
Enumerator.new do |yielder|
loop do
response = client.get(@url, query)
response.body.each { |item| yielder << item }
raise StopIteration unless response.rels.key?(:next)
@url = response.rels[:next]
end
end.lazy
end
private
def client
@client ||= Github::Client.new
end
end
end
|