summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-12-06 11:22:31 +0100
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-12-06 11:22:31 +0100
commitbdc13c3142507650e9170cc7b9b63232bb1cfdad (patch)
treed369e661d08d18460145aa2397a98494a77e6107
parentc8b2aa8de527099cf902d5fbfd058f9dee772f24 (diff)
downloadgitlab-ce-bdc13c3142507650e9170cc7b9b63232bb1cfdad.tar.gz
Untangle status label and text in ci status helper
-rw-r--r--app/helpers/ci_status_helper.rb12
-rw-r--r--lib/gitlab/ci/status/core.rb11
2 files changed, 21 insertions, 2 deletions
diff --git a/app/helpers/ci_status_helper.rb b/app/helpers/ci_status_helper.rb
index 29ab1404f41..8e19752a8a1 100644
--- a/app/helpers/ci_status_helper.rb
+++ b/app/helpers/ci_status_helper.rb
@@ -5,8 +5,8 @@ module CiStatusHelper
end
def ci_status_with_icon(status, target = nil)
- content = ci_icon_for_status(status) + ci_label_for_status(status)
- klass = "ci-status ci-#{status}" # TODO, add support for detailed status
+ content = ci_icon_for_status(status) + ci_text_for_status(status)
+ klass = "ci-status ci-#{status}"
if target
link_to content, target, class: klass
@@ -15,6 +15,14 @@ module CiStatusHelper
end
end
+ def ci_text_for_status(status)
+ if detailed_status?(status)
+ status.text
+ else
+ status
+ end
+ end
+
def ci_label_for_status(status)
if detailed_status?(status)
return status.label
diff --git a/lib/gitlab/ci/status/core.rb b/lib/gitlab/ci/status/core.rb
index fbfe257eeca..10e04d5be03 100644
--- a/lib/gitlab/ci/status/core.rb
+++ b/lib/gitlab/ci/status/core.rb
@@ -22,6 +22,17 @@ module Gitlab
"#{@subject.class.name.demodulize}: #{label}"
end
+ # Deprecation warning: this method is here because we need to maintain
+ # backwards compatibility with legacy statuses. We often do something
+ # like "ci-status ci-status-#{status}" to set CSS class.
+ #
+ # `to_s` method should be renamed to `group` at some point, after
+ # phasing legacy satuses out.
+ #
+ def to_s
+ self.class.name.demodulize.downcase
+ end
+
def has_details?
raise NotImplementedError
end