Class: CC::Service::PullRequestsPresenter

Inherits:
Object
  • Object
show all
Includes:
ActiveSupport::NumberHelper
Defined in:
lib/cc/presenters/pull_requests_presenter.rb

Instance Method Summary collapse

Constructor Details

#initialize(payload) ⇒ PullRequestsPresenter

Returns a new instance of PullRequestsPresenter.



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/cc/presenters/pull_requests_presenter.rb', line 6

def initialize(payload)
  issue_comparison_counts = payload["issue_comparison_counts"]

  if issue_comparison_counts
    @fixed_count = issue_comparison_counts["fixed"]
    @new_count = issue_comparison_counts["new"]
  end

  @covered_percent = payload["covered_percent"]
  @covered_percent_delta = payload["covered_percent_delta"]

  @approved_by = payload["approved_by"].presence
end

Instance Method Details

#approved_messageObject



20
21
22
# File 'lib/cc/presenters/pull_requests_presenter.rb', line 20

def approved_message
  "Approved by #{@approved_by}."
end

#coverage_messageObject



36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/cc/presenters/pull_requests_presenter.rb', line 36

def coverage_message
  message = "#{formatted_percent(@covered_percent)}%"

  return message if @covered_percent_delta.nil?

  if @covered_percent_delta.round(2) > 0
    message += " (+#{formatted_percent(@covered_percent_delta)}%)"
  elsif @covered_percent_delta.round(2) < 0
    message += " (#{formatted_percent(@covered_percent_delta)}%)"
  end

  message
end

#error_messageObject



24
25
26
# File 'lib/cc/presenters/pull_requests_presenter.rb', line 24

def error_message
  "Code Climate encountered an error attempting to analyze this pull request."
end

#pending_messageObject



28
29
30
# File 'lib/cc/presenters/pull_requests_presenter.rb', line 28

def pending_message
  "Code Climate is analyzing this code."
end

#skipped_messageObject



32
33
34
# File 'lib/cc/presenters/pull_requests_presenter.rb', line 32

def skipped_message
  "Code Climate has skipped analysis of this commit."
end

#success_messageObject



50
51
52
53
54
55
56
57
58
59
60
# File 'lib/cc/presenters/pull_requests_presenter.rb', line 50

def success_message
  if @approved_by
    approved_message
  elsif @new_count > 0
    "#{@new_count} #{"issue".pluralize(@new_count)} to fix"
  elsif @fixed_count > 0
    "#{@fixed_count} fixed #{"issue".pluralize(@fixed_count)}"
  else
    "All good!"
  end
end