Class: CleoQualityReview::GitHubReviewPublisher

Inherits:
Object
  • Object
show all
Defined in:
lib/cleo_quality_review/github_review_publisher.rb

Overview

Publishes quality review findings as a GitHub pull request review

Instance Method Summary collapse

Constructor Details

#initialize(run:, rendered_review:, env: ENV, client: nil) ⇒ GitHubReviewPublisher

Returns a new instance of GitHubReviewPublisher.

Parameters:

  • run (Run)

    completed quality review run

  • rendered_review (String)

    JSON produced by the pr_review formatter

  • env (Hash{String => String}) (defaults to: ENV)

    process environment

  • client (GitHubClient, nil) (defaults to: nil)

    GitHub API client (built from env when omitted)



18
19
20
21
22
23
# File 'lib/cleo_quality_review/github_review_publisher.rb', line 18

def initialize(run:, rendered_review:, env: ENV, client: nil)
  @run = run
  @rendered_review = rendered_review
  @env = env
  @client = client
end

Instance Method Details

#publishString

Publish the review, or skip when there is no PR context/findings

Returns:

  • (String)

    status message



28
29
30
31
32
33
# File 'lib/cleo_quality_review/github_review_publisher.rb', line 28

def publish
  skip_reason = publication_skip_reason
  return skip_reason if skip_reason

  post_review
end