class Pronto::Formatter::GithubPullRequestReviewFormatter
Pronto::Formatter::GithubPullRequestReviewFormatter
comes from the Pronto
gem itself.
# Note: Ignore `method redefined` warnings on these methods.
The methods below are feature overrides to:
1. prevent the {#line_number} class from failing if none of the patches contain the `message.line.new_lineno` value found. Which can happen in the context of this pronto-bundler audit gem since we aren't necessarily altering the Gemfile.lock file within a PR at the time of finding an issue in the Gemfile.lock file. 2. FIXME: Prevent a POST error due to an unknown file path in the traditional Pull Request Review comment style.
Public Instance Methods
line_number(message, patches)
click to toggle source
# File lib/formatter/github_pull_request_review_formatter.rb, line 30 def line_number(message, patches) line = patches.find_line(message.full_path, message.line.new_lineno) line&.position || message.line.new_lineno end
submit_comments(client, comments)
click to toggle source
# File lib/formatter/github_pull_request_review_formatter.rb, line 17 def submit_comments(client, comments) client.publish_pull_request_comments(comments) rescue Octokit::UnprocessableEntity, HTTParty::Error => e # If Gemfile.lock doesn't exist in the PR, then attempt a non-review # style comment instead (which doesn't attempt to reference a file # path and line number). begin comments.each { |comment| client.create_pull_comment(comment) } rescue Octokit::UnprocessableEntity, HTTParty::Error => e $stderr.puts "Failed to post: #{e.message}" end end