class Linterbot::ResultHandler

Attributes

approver[RW]
commenter[RW]
github_client[RW]
pull_request[RW]

Public Class Methods

new(pull_request, commenter, approver) click to toggle source
# File lib/linterbot/result_handler.rb, line 10
def initialize(pull_request, commenter, approver)
  @pull_request = pull_request
  @commenter = commenter
  @approver = approver
end

Public Instance Methods

handle(result) click to toggle source
# File lib/linterbot/result_handler.rb, line 16
def handle(result)
  result.comments.each { |comment| commenter.publish_comment(comment) }
  commenter.publish_summary(result.summary)
  if result.serious_violations?
    reject_pull_request(result.serious_violations_count)
  else
    approve_pull_request
  end
end

Private Instance Methods

approve_pull_request() click to toggle source
# File lib/linterbot/result_handler.rb, line 28
def approve_pull_request
  approver.approve(pull_request.repository, pull_request.newest_commit.sha)
end
reject_pull_request(serious_violations_count) click to toggle source
# File lib/linterbot/result_handler.rb, line 32
def reject_pull_request(serious_violations_count)
  approver.reject(pull_request.repository, pull_request.newest_commit.sha, serious_violations_count)
end