29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/legion/cli/pr_command.rb', line 29
def create
out = formatter
validate_branch!(out)
diff, stat, log = gather_changes(options[:base])
validate_diff!(diff, out)
setup_connection
out.('Generating PR title and description...')
title, body = generate_pr_content(diff, stat, log, current_branch)
return out.json(pr_json(title, body)) if options[:json]
display_pr_preview(out, title, body)
title, body = confirm_or_edit(out, title, body) unless options[:yes]
return unless title
push_branch(current_branch) if options[:push]
pr_url = submit_pull_request(title, body)
out.success("PR created: #{pr_url}")
rescue CLI::Error => e
out.error(e.message)
raise SystemExit, 1
ensure
Connection.shutdown
end
|