Class: HTTPPaginator
- Inherits:
-
Object
- Object
- HTTPPaginator
- Defined in:
- lib/gitlab-burndown/net/http/paginator.rb
Instance Method Summary collapse
-
#initialize(client, base_url, header_total_pages) ⇒ HTTPPaginator
constructor
A new instance of HTTPPaginator.
- #paginate(pagination) ⇒ Object
Constructor Details
#initialize(client, base_url, header_total_pages) ⇒ HTTPPaginator
Returns a new instance of HTTPPaginator.
4 5 6 7 8 |
# File 'lib/gitlab-burndown/net/http/paginator.rb', line 4 def initialize(client, base_url, header_total_pages) @client = client @base_url = base_url @header_total_pages = header_total_pages end |
Instance Method Details
#paginate(pagination) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/gitlab-burndown/net/http/paginator.rb', line 10 def paginate(pagination) pagination = Pagination.new(1, []) if pagination.nil? url = "#{@base_url}#{pagination.page}" warn "Reading #{url}" response = @client.get(url) pagination.results.concat(response.json) return pagination.results if response.header(@header_total_pages) == pagination.page.to_s pagination.page += 1 paginate(pagination) end |