diff options
Diffstat (limited to 'app/models/project_services/slack_service/note_message.rb')
-rw-r--r-- | app/models/project_services/slack_service/note_message.rb | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/app/models/project_services/slack_service/note_message.rb b/app/models/project_services/slack_service/note_message.rb deleted file mode 100644 index 9e84e90f38c..00000000000 --- a/app/models/project_services/slack_service/note_message.rb +++ /dev/null @@ -1,83 +0,0 @@ -class SlackService - class NoteMessage < BaseMessage - attr_reader :message - attr_reader :user_name - attr_reader :project_name - attr_reader :project_link - attr_reader :note - attr_reader :note_url - attr_reader :title - - def initialize(params) - params = HashWithIndifferentAccess.new(params) - @user_name = params[:user][:username] - @project_name = params[:project_name] - @project_url = params[:project_url] - - obj_attr = params[:object_attributes] - obj_attr = HashWithIndifferentAccess.new(obj_attr) - @note = obj_attr[:note] - @note_url = obj_attr[:url] - noteable_type = obj_attr[:noteable_type] - - case noteable_type - when "Commit" - create_commit_note(HashWithIndifferentAccess.new(params[:commit])) - when "Issue" - create_issue_note(HashWithIndifferentAccess.new(params[:issue])) - when "MergeRequest" - create_merge_note(HashWithIndifferentAccess.new(params[:merge_request])) - when "Snippet" - create_snippet_note(HashWithIndifferentAccess.new(params[:snippet])) - end - end - - def attachments - description_message - end - - private - - def format_title(title) - title.lines.first.chomp - end - - def create_commit_note(commit) - commit_sha = commit[:id] - commit_sha = Commit.truncate_sha(commit_sha) - commented_on_message( - "[commit #{commit_sha}](#{@note_url})", - format_title(commit[:message])) - end - - def create_issue_note(issue) - commented_on_message( - "[issue ##{issue[:iid]}](#{@note_url})", - format_title(issue[:title])) - end - - def create_merge_note(merge_request) - commented_on_message( - "[merge request !#{merge_request[:iid]}](#{@note_url})", - format_title(merge_request[:title])) - end - - def create_snippet_note(snippet) - commented_on_message( - "[snippet ##{snippet[:id]}](#{@note_url})", - format_title(snippet[:title])) - end - - def description_message - [{ text: format(@note), color: attachment_color }] - end - - def project_link - "[#{@project_name}](#{@project_url})" - end - - def commented_on_message(target_link, title) - @message = "#{@user_name} commented on #{target_link} in #{project_link}: *#{title}*" - end - end -end |