summaryrefslogtreecommitdiff
path: root/app/models/project_services/chat_message/base_message.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/project_services/chat_message/base_message.rb')
-rw-r--r--app/models/project_services/chat_message/base_message.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/app/models/project_services/chat_message/base_message.rb b/app/models/project_services/chat_message/base_message.rb
new file mode 100644
index 00000000000..a03605d01fb
--- /dev/null
+++ b/app/models/project_services/chat_message/base_message.rb
@@ -0,0 +1,34 @@
+require 'slack-notifier'
+
+module ChatMessage
+ class BaseMessage
+ def initialize(params)
+ raise NotImplementedError
+ end
+
+ def pretext
+ format(message)
+ end
+
+ def fallback
+ end
+
+ def attachments
+ raise NotImplementedError
+ end
+
+ private
+
+ def message
+ raise NotImplementedError
+ end
+
+ def format(string)
+ Slack::Notifier::LinkFormatter.format(string)
+ end
+
+ def attachment_color
+ '#345'
+ end
+ end
+end