From bdc13c3142507650e9170cc7b9b63232bb1cfdad Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon Date: Tue, 6 Dec 2016 11:22:31 +0100 Subject: [PATCH] Untangle status label and text in ci status helper --- app/helpers/ci_status_helper.rb | 12 ++++++++++-- lib/gitlab/ci/status/core.rb | 11 +++++++++++ 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