89 lines
1.6 KiB
Ruby
89 lines
1.6 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module Gitlab
|
|
module Ci
|
|
module Status
|
|
# Base abstract class for core status
|
|
#
|
|
class Core
|
|
include Gitlab::Routing
|
|
include Gitlab::Allowable
|
|
|
|
attr_reader :subject, :user
|
|
|
|
delegate :cache_key, to: :subject
|
|
|
|
def initialize(subject, user)
|
|
@subject = subject
|
|
@user = user
|
|
end
|
|
|
|
def id
|
|
"#{group}-#{subject.id}"
|
|
end
|
|
|
|
def icon
|
|
raise NotImplementedError
|
|
end
|
|
|
|
def favicon
|
|
raise NotImplementedError
|
|
end
|
|
|
|
def illustration
|
|
raise NotImplementedError
|
|
end
|
|
|
|
def label
|
|
raise NotImplementedError
|
|
end
|
|
|
|
def group
|
|
self.class.name.demodulize.underscore
|
|
end
|
|
|
|
def has_details?
|
|
false
|
|
end
|
|
|
|
def details_path
|
|
raise NotImplementedError
|
|
end
|
|
|
|
def has_action?
|
|
false
|
|
end
|
|
|
|
def action_icon
|
|
raise NotImplementedError
|
|
end
|
|
|
|
def action_path
|
|
raise NotImplementedError
|
|
end
|
|
|
|
def action_method
|
|
raise NotImplementedError
|
|
end
|
|
|
|
def action_title
|
|
raise NotImplementedError
|
|
end
|
|
|
|
def action_button_title
|
|
raise NotImplementedError
|
|
end
|
|
|
|
# Hint that appears on all the pipeline graph tooltips and builds on the right sidebar in Job detail view
|
|
def status_tooltip
|
|
label
|
|
end
|
|
|
|
# Hint that appears on the build badges
|
|
def badge_tooltip
|
|
subject.status
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|