class ONEAccess::Request::ContributorsRequestHandler
Constants
- PAGE_SIZE
Attributes
limit[R]
url[R]
Public Class Methods
new(url:, limit: PAGE_SIZE)
click to toggle source
# File lib/oneaccess/request/contributors_request_handler.rb, line 8 def initialize(url:, limit: PAGE_SIZE) @url = url @limit = limit end
Public Instance Methods
each() { |contributor| ... }
click to toggle source
# File lib/oneaccess/request/contributors_request_handler.rb, line 13 def each offset = 0 loop do http_response = Http::HttpClient.get(url, build_params(offset)) response = Response::ContributorsResponse.from_json(http_response.body) response&.data&.each do |contributor| yield contributor end break unless more_records?(response.meta) offset += 1 end end
Private Instance Methods
build_params(offset)
click to toggle source
# File lib/oneaccess/request/contributors_request_handler.rb, line 33 def build_params(offset) { limit: limit, offset: offset, } end
more_records?(meta)
click to toggle source
# File lib/oneaccess/request/contributors_request_handler.rb, line 40 def more_records?(meta) meta.offset < (meta.total / meta.limit).ceil - 1 end