module RepoForker

Constants

VERSION

Public Class Methods

client() click to toggle source
# File lib/repo_forker.rb, line 12
def self.client
  @client ||= Client.new
end
fork(repo_names = []) click to toggle source
# File lib/repo_forker.rb, line 16
def self.fork(repo_names = [])
  repo_names.each_with_object(new_memo) do |repo_name, memo|
    uri = ForkingURI.build(repo_name)
    request_details = ForkingRequest.new(uri.request_uri)

    response = client.request(request_details)
    record(response, memo, repo_name)
  end
end

Private Class Methods

new_memo() click to toggle source
# File lib/repo_forker.rb, line 27
def self.new_memo
  { successful_requests: [], failed_requests: [] }
end
record(response, memo, repo_name) click to toggle source
# File lib/repo_forker.rb, line 31
def self.record(response, memo, repo_name)
  key = response.code == "202" ? :successful_requests : :failed_requests
  memo[key] << repo_name
end