class Linterbot::PullRequestAnalysisResult

Attributes

comments[RW]

Public Class Methods

new(comments) click to toggle source
# File lib/linterbot/pull_request_analysis_result.rb, line 7
def initialize(comments)
  @comments = comments
end

Public Instance Methods

approved?() click to toggle source
# File lib/linterbot/pull_request_analysis_result.rb, line 11
def approved?
  comments.empty?
end
serious_violations?() click to toggle source
# File lib/linterbot/pull_request_analysis_result.rb, line 37
def serious_violations?
  serious_violations_count > 0
end
serious_violations_count() click to toggle source
# File lib/linterbot/pull_request_analysis_result.rb, line 33
def serious_violations_count
  serious_violations.count
end
summary() click to toggle source
# File lib/linterbot/pull_request_analysis_result.rb, line 23
def summary
  if violations?
    "Total linter violations in pull request: #{comments.count}\n" +
    "Serious: #{serious_violations.count}\n" +
    "Warnings: #{warning_violations.count}"
  else
    ":+1: There are no linter violations."
  end
end
violations?() click to toggle source
# File lib/linterbot/pull_request_analysis_result.rb, line 15
def violations?
  comments.count > 0
end
violations_count() click to toggle source
# File lib/linterbot/pull_request_analysis_result.rb, line 19
def violations_count
  comments.count
end

Private Instance Methods

serious_violations() click to toggle source
# File lib/linterbot/pull_request_analysis_result.rb, line 47
def serious_violations
  @serious_violations ||= violations_with_severity("Serious")
end
violations_with_severity(severity) click to toggle source
# File lib/linterbot/pull_request_analysis_result.rb, line 43
def violations_with_severity(severity)
  comments.select { |violation| violation.severity == severity }
end
warning_violations() click to toggle source
# File lib/linterbot/pull_request_analysis_result.rb, line 51
def warning_violations
  @warning_violations ||= violations_with_severity("Warning")
end