summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorRobert Speicher <rspeicher@gmail.com>2015-05-11 15:56:00 -0400
committerRobert Speicher <rspeicher@gmail.com>2015-05-26 15:48:31 -0400
commit0359d41b064e9f7680d0017013e011103747b614 (patch)
treeddfd718de791e8df6f7717e6a6656d8ef41b497e /app
parent38fb6279f9709e43f80c70c1fd4cccef77963b21 (diff)
downloadgitlab-ce-0359d41b064e9f7680d0017013e011103747b614.tar.gz
Implement gfm_reference directly in Mentionable
Except for Note, which still overrides it.
Diffstat (limited to 'app')
-rw-r--r--app/models/commit.rb5
-rw-r--r--app/models/concerns/mentionable.rb11
-rw-r--r--app/models/issue.rb6
-rw-r--r--app/models/merge_request.rb5
4 files changed, 8 insertions, 19 deletions
diff --git a/app/models/commit.rb b/app/models/commit.rb
index 3cc8d11a4aa..085f4e6398f 100644
--- a/app/models/commit.rb
+++ b/app/models/commit.rb
@@ -140,11 +140,6 @@ class Commit
Gitlab::ClosingIssueExtractor.new(project, current_user).closed_by_message(safe_message)
end
- # Mentionable override.
- def gfm_reference
- "commit #{to_reference}"
- end
-
def author
User.find_for_commit(author_email, author_name)
end
diff --git a/app/models/concerns/mentionable.rb b/app/models/concerns/mentionable.rb
index b7c39df885d..f28b20afd8e 100644
--- a/app/models/concerns/mentionable.rb
+++ b/app/models/concerns/mentionable.rb
@@ -20,10 +20,15 @@ module Mentionable
end
end
- # Generate a GFM back-reference that will construct a link back to this Mentionable when rendered. Must
- # be overridden if this model object can be referenced directly by GFM notation.
+ # Returns the text used as the body of a Note when this object is referenced
+ #
+ # By default this will be the class name and the result of calling
+ # `to_reference` on the object.
def gfm_reference
- raise NotImplementedError.new("#{self.class} does not implement #gfm_reference")
+ # Convert "MergeRequest" to "merge request"
+ friendly_name = self.class.to_s.underscore.humanize.downcase
+
+ "#{friendly_name} #{to_reference}"
end
# Construct a String that contains possible GFM references.
diff --git a/app/models/issue.rb b/app/models/issue.rb
index ff13cbca845..31803b57b3f 100644
--- a/app/models/issue.rb
+++ b/app/models/issue.rb
@@ -68,12 +68,6 @@ class Issue < ActiveRecord::Base
reference
end
- # Mentionable overrides.
-
- def gfm_reference
- "issue #{to_reference}"
- end
-
# Reset issue events cache
#
# Since we do cache @event we need to reset cache in special cases:
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index bfbf498591a..60b0ce6c018 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -304,11 +304,6 @@ class MergeRequest < ActiveRecord::Base
end
end
- # Mentionable override.
- def gfm_reference
- "merge request #{to_reference}"
- end
-
def target_project_path
if target_project
target_project.path_with_namespace