diff options
author | Robert Speicher <rspeicher@gmail.com> | 2015-05-11 15:56:00 -0400 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2015-05-26 15:48:31 -0400 |
commit | 0359d41b064e9f7680d0017013e011103747b614 (patch) | |
tree | ddfd718de791e8df6f7717e6a6656d8ef41b497e /app | |
parent | 38fb6279f9709e43f80c70c1fd4cccef77963b21 (diff) | |
download | gitlab-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.rb | 5 | ||||
-rw-r--r-- | app/models/concerns/mentionable.rb | 11 | ||||
-rw-r--r-- | app/models/issue.rb | 6 | ||||
-rw-r--r-- | app/models/merge_request.rb | 5 |
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 |