Class: Geet::Services::CreatePr
- Inherits:
-
AbstractCreateIssue
- Object
- AbstractCreateIssue
- Geet::Services::CreatePr
- Defined in:
- lib/geet/services/create_pr.rb
Constant Summary collapse
- DEFAULT_GIT_CLIENT =
Geet::Utils::GitClient.new
Constants inherited from AbstractCreateIssue
AbstractCreateIssue::SUMMARY_BACKUP_FILENAME
Instance Method Summary collapse
-
#execute(title, description, labels: nil, milestone: nil, reviewers: nil, no_open_pr: nil, automated_mode: false) ⇒ Object
options: :labels :reviewers :no_open_pr.
-
#initialize(repository, out: $stdout, git_client: DEFAULT_GIT_CLIENT) ⇒ CreatePr
constructor
A new instance of CreatePr.
Methods included from Helpers::OsHelper
#execute_command, #open_file_with_default_application
Constructor Details
#initialize(repository, out: $stdout, git_client: DEFAULT_GIT_CLIENT) ⇒ CreatePr
Returns a new instance of CreatePr.
10 11 12 13 14 |
# File 'lib/geet/services/create_pr.rb', line 10 def initialize(repository, out: $stdout, git_client: DEFAULT_GIT_CLIENT) super(repository) @git_client = git_client @out = out end |
Instance Method Details
#execute(title, description, labels: nil, milestone: nil, reviewers: nil, no_open_pr: nil, automated_mode: false) ⇒ Object
options:
:labels
:reviewers
:no_open_pr
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/geet/services/create_pr.rb', line 21 def execute( title, description, labels: nil, milestone: nil, reviewers: nil, no_open_pr: nil, automated_mode: false, ** ) ensure_clean_tree if automated_mode selected_labels, selected_milestone, selected_reviewers = find_and_select_attributes(labels, milestone, reviewers) sync_with_upstream_branch if automated_mode pr = create_pr(title, description) edit_pr(pr, selected_labels, selected_milestone, selected_reviewers) if no_open_pr @out.puts "PR address: #{pr.link}" else open_file_with_default_application(pr.link) end pr rescue => error save_summary(title, description) if title raise end |