class PullRequest::Create::Client

Constants

BASE
BODY
TITLE

Public Class Methods

new(repo) click to toggle source
# File lib/pull_request/create/client.rb, line 12
def initialize(repo)
  @repo = repo
end

Public Instance Methods

access_token() click to toggle source
# File lib/pull_request/create/client.rb, line 62
def access_token
  ENV['GITHUB_ACCESS_TOKEN']
end
client() click to toggle source
# File lib/pull_request/create/client.rb, line 58
def client
  @client ||= ::Octokit::Client.new(access_token: access_token)
end
create_pull_request(params) click to toggle source
# File lib/pull_request/create/client.rb, line 16
def create_pull_request(params)
  logger.debug(params)

  repo = decide_repo(params[:repo])
  base = decide_base(params[:base])
  head = decide_head(params[:head])
  title = decide_title(params[:title])
  body = decide_body(params[:body])
  options = {}
  logger.debug([repo, base, head, title, body, options])
  resource = client.create_pull_request(repo, base, head, title, body, options)
  logger.debug(resource)
  logger.info("state: #{resource.state}")
  logger.info("title: #{resource.title}")
  logger.info("html_url: #{resource.html_url}")
  resource
end
decide_base(base) click to toggle source
# File lib/pull_request/create/client.rb, line 38
def decide_base(base)
  base || BASE
end
decide_body(body) click to toggle source
# File lib/pull_request/create/client.rb, line 50
def decide_body(body)
  body || BODY
end
decide_head(head) click to toggle source
# File lib/pull_request/create/client.rb, line 42
def decide_head(head)
  head || @repo.current_branch
end
decide_repo(repo) click to toggle source
# File lib/pull_request/create/client.rb, line 34
def decide_repo(repo)
  repo || @repo.slug
end
decide_title(title) click to toggle source
# File lib/pull_request/create/client.rb, line 46
def decide_title(title)
  title || TITLE
end
logger() click to toggle source
# File lib/pull_request/create/client.rb, line 54
def logger
  ::PullRequest::Create.logger
end