gitlab-org--gitlab-foss/lib/gitlab/ci/status/core.rb
2016-12-06 11:22:31 +01:00

58 lines
1.2 KiB
Ruby

module Gitlab
module Ci
module Status
# Base abstract class fore core status
#
class Core
include Gitlab::Routing.url_helpers
def initialize(subject)
@subject = subject
end
def icon
raise NotImplementedError
end
def label
raise NotImplementedError
end
def title
"#{@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
def details_path
raise NotImplementedError
end
def has_action?
raise NotImplementedError
end
def action_icon
raise NotImplementedError
end
def action_path
raise NotImplementedError
end
end
end
end
end