summaryrefslogtreecommitdiff
path: root/lib/gitlab/ci/status/core.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/ci/status/core.rb')
-rw-r--r--lib/gitlab/ci/status/core.rb47
1 files changed, 47 insertions, 0 deletions
diff --git a/lib/gitlab/ci/status/core.rb b/lib/gitlab/ci/status/core.rb
new file mode 100644
index 00000000000..fbfe257eeca
--- /dev/null
+++ b/lib/gitlab/ci/status/core.rb
@@ -0,0 +1,47 @@
+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
+
+ 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