Module: CiStatusHelper

Defined in:
app/helpers/ci_status_helper.rb

Instance Method Summary collapse

Instance Method Details

#ci_icon_for_status(status) ⇒ Object


25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'app/helpers/ci_status_helper.rb', line 25

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 + ' fw')
end

#ci_label_for_status(status) ⇒ Object


17
18
19
20
21
22
23
# File 'app/helpers/ci_status_helper.rb', line 17

def ci_label_for_status(status)
  if status == 'success'
    'passed'
  else
    status
  end
end

#ci_status_path(ci_commit) ⇒ Object


2
3
4
5
# File 'app/helpers/ci_status_helper.rb', line 2

def ci_status_path(ci_commit)
  project = ci_commit.project
  builds_namespace_project_commit_path(project.namespace, project, ci_commit.sha)
end

#ci_status_with_icon(status, target = nil) ⇒ Object


7
8
9
10
11
12
13
14
15
# File 'app/helpers/ci_status_helper.rb', line 7

def ci_status_with_icon(status, target = nil)
  content = ci_icon_for_status(status) + ' '.html_safe + ci_label_for_status(status)
  klass = "ci-status ci-#{status}"
  if target
    link_to content, target, class: klass
  else
     :span, content, class: klass
  end
end

#no_runners_for_project?(project) ⇒ Boolean

Returns:

  • (Boolean)

52
53
54
55
# File 'app/helpers/ci_status_helper.rb', line 52

def no_runners_for_project?(project)
  project.runners.blank? &&
    Ci::Runner.shared.blank?
end

#render_ci_status(ci_commit, tooltip_placement: 'auto left') ⇒ Object


41
42
43
44
45
46
47
48
49
50
# File 'app/helpers/ci_status_helper.rb', line 41

def render_ci_status(ci_commit, tooltip_placement: 'auto left')
  # TODO: split this method into
  # - render_commit_status
  # - render_pipeline_status
  link_to ci_icon_for_status(ci_commit.status),
    ci_status_path(ci_commit),
    class: "ci-status-link ci-status-icon-#{ci_commit.status.dasherize}",
    title: "Build #{ci_label_for_status(ci_commit.status)}",
    data: { toggle: 'tooltip', placement: tooltip_placement }
end