summaryrefslogtreecommitdiff
path: root/app/helpers/ci_status_helper.rb
blob: 3a88ed7107ee509ab519ae453939690c2db63277 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
module CiStatusHelper
  def ci_status_path(ci_commit)
    ci_project_ref_commits_path(ci_commit.project, ci_commit.ref, ci_commit)
  end

  def ci_status_icon(ci_commit)
    ci_icon_for_status(ci_commit.status)
  end

  def ci_status_color(ci_commit)
    case ci_commit.status
    when 'success'
      'green'
    when 'failed'
      'red'
    when 'running', 'pending'
      'yellow'
    else
      'gray'
    end
  end

  def ci_status_with_icon(status)
    content_tag :span, class: "ci-status ci-#{status}" do
      ci_icon_for_status(status) + ' '.html_safe + status
    end
  end

  def ci_icon_for_status(status)
    icon_name =
      case status
      when 'success'
        'check'
      when 'failed'
        'close'
      when 'running', 'pending'
        'clock-o'
      else
        'circle'
      end

    icon(icon_name)
  end
end