class HubLink::Batch
Attributes
options[R]
Public Class Methods
new(options = {})
click to toggle source
# File lib/hub_link/batch.rb, line 7 def initialize(options = {}) @options = options.compact end
Public Instance Methods
empty?()
click to toggle source
# File lib/hub_link/batch.rb, line 11 def empty? results.empty? end
fetch(resource)
click to toggle source
# File lib/hub_link/batch.rb, line 15 def fetch(resource) public_send(resource) end
pull_requests()
click to toggle source
# File lib/hub_link/batch.rb, line 19 def pull_requests log "Fetching pull requests" do pull_request_results.find_all(&:pull_request?).map(&:to_h) end end
review_requests()
click to toggle source
# File lib/hub_link/batch.rb, line 31 def review_requests log "Fetching review requests" do pull_request_results.flat_map(&:review_requests).map(&:to_h) end end
reviews()
click to toggle source
# File lib/hub_link/batch.rb, line 25 def reviews log "Fetching reviews" do pull_request_results.flat_map(&:reviews).map(&:to_h) end end
Private Instance Methods
fetch_results()
click to toggle source
# File lib/hub_link/batch.rb, line 47 def fetch_results log "*Getting issues* #{formatted_options}" do Api::PullRequest.list(options) end end
formatted_options()
click to toggle source
# File lib/hub_link/batch.rb, line 61 def formatted_options options.values.join(", ") end
log(title, &block)
click to toggle source
# File lib/hub_link/batch.rb, line 53 def log(title, &block) logger.info(START) { title } block.call.tap do |results| logger.info(FINISH) { "Found #{results.size}" } end end
logger()
click to toggle source
# File lib/hub_link/batch.rb, line 65 def logger HubLink.logger end
pull_request_results()
click to toggle source
# File lib/hub_link/batch.rb, line 39 def pull_request_results results.find_all(&:pull_request?) end
results()
click to toggle source
# File lib/hub_link/batch.rb, line 43 def results @_results ||= fetch_results end