Sha256: 4294573eec8866c07c40a99beb19ff4a2f5b23a4382ba5d854845abfac1017ea
Contents?: true
Size: 1.22 KB
Versions: 3
Compression:
Stored size: 1.22 KB
Contents
# frozen_string_literal: true require_relative '../helpers/services_workflow_helper' module Geet module Services # Merges the PR for the current branch. # # The workflow of this services is oriented to the a commondline usage: the user doesn't need # to lookup the merge for the working branch; this comes at the cost of extra operations and # constraints, but speeds up the workflow. # class MergePr include Geet::Helpers::ServicesWorkflowHelper DEFAULT_GIT_CLIENT = Geet::Utils::GitClient.new def initialize(repository, out: $stdout, git_client: DEFAULT_GIT_CLIENT) @repository = repository @out = out @git_client = git_client end def execute(delete_branch: false) merge_owner, merge_head = find_merge_head pr = checked_find_branch_pr(merge_owner, merge_head) merge_pr(pr) do_delete_branch if delete_branch pr end private def merge_pr(pr) @out.puts "Merging PR ##{pr.number}..." pr.merge end def do_delete_branch @out.puts "Deleting branch #{@git_client.current_branch}..." @repository.delete_branch(@git_client.current_branch) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
geet-0.3.15 | lib/geet/services/merge_pr.rb |
geet-0.3.14 | lib/geet/services/merge_pr.rb |
geet-0.3.13 | lib/geet/services/merge_pr.rb |