class Dependabot::PullRequestCreator::Gitea

Attributes

author_details[R]
base_commit[R]
branch_name[R]
commit_message[R]
credentials[R]
files[R]
labeler[R]
pr_description[R]
pr_name[R]
source[R]

Public Class Methods

new(source:, branch_name:, base_commit:, credentials:, files:, commit_message:, pr_description:, pr_name:, author_details:, labeler:) click to toggle source
# File lib/hack/dependabot-core/common/lib/dependabot/pull_request_creator/gitea.rb, line 13
def initialize(source:, branch_name:, base_commit:, credentials:,
               files:, commit_message:, pr_description:, pr_name:,
               author_details:, labeler:)
  @source         = source
  @branch_name    = branch_name
  @base_commit    = base_commit
  @credentials    = credentials
  @files          = files
  @commit_message = commit_message
  @pr_description = pr_description
  @pr_name        = pr_name
  @author_details = author_details
  @labeler        = labeler
end

Public Instance Methods

create() click to toggle source
# File lib/hack/dependabot-core/common/lib/dependabot/pull_request_creator/gitea.rb, line 28
def create
  return if branch_exists? && pull_request_exists?

  # For Azure we create or update a branch in the same request as creating
  # a commit (so we don't need create or update branch logic here)
  create_commit

  create_pull_request
end

Private Instance Methods

branch_exists?() click to toggle source
# File lib/hack/dependabot-core/common/lib/dependabot/pull_request_creator/gitea.rb, line 48
def branch_exists?
  @branch_ref ||= gitea_client_for_source.branch(branch_name)

  @branch_ref
rescue
  false
end
create_commit() click to toggle source
# File lib/hack/dependabot-core/common/lib/dependabot/pull_request_creator/gitea.rb, line 63
def create_commit
  author = author_details&.slice(:name, :email, :date)
  author = nil unless author&.any?

  gitea_client_for_source.create_commit(
    branch_name,
    base_commit,
    commit_message,
    files,
    author
  )
end
create_pull_request() click to toggle source
# File lib/hack/dependabot-core/common/lib/dependabot/pull_request_creator/gitea.rb, line 76
def create_pull_request
  gitea_client_for_source.create_pull_request(
    pr_name,
    branch_name,
    source.branch || default_branch,
    pr_description,
    labeler.labels_for_pr
  )
end
default_branch() click to toggle source
# File lib/hack/dependabot-core/common/lib/dependabot/pull_request_creator/gitea.rb, line 86
def default_branch
  @default_branch ||=
    gitea_client_for_source.fetch_default_branch(source.repo)
end
gitea_client_for_source() click to toggle source
# File lib/hack/dependabot-core/common/lib/dependabot/pull_request_creator/gitea.rb, line 40
def gitea_client_for_source
  @gitea_client_for_source ||=
    Dependabot::Clients::Gitea.for_source(
      source: source,
      credentials: credentials
    )
end
pull_request_exists?() click to toggle source
# File lib/hack/dependabot-core/common/lib/dependabot/pull_request_creator/gitea.rb, line 56
def pull_request_exists?
  gitea_client_for_source.pull_requests(
    branch_name,
    source.branch || default_branch
  ).any?
end