diff options
author | Robert Speicher <rspeicher@gmail.com> | 2015-05-02 23:11:21 -0400 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2015-05-26 15:48:30 -0400 |
commit | c0faf91ff23815404a95cf4510b43dcf5e331c4f (patch) | |
tree | 81769f125569dd6ea012920544ada1e8666ba4e5 /app/models/snippet.rb | |
parent | b06dc74d611192744d34acda944d7ed9e554342a (diff) | |
download | gitlab-ce-c0faf91ff23815404a95cf4510b43dcf5e331c4f.tar.gz |
Add `to_reference` for models that support references
Now there is a single source of information for which attribute a model
uses to be referenced, and its special character.
Diffstat (limited to 'app/models/snippet.rb')
-rw-r--r-- | app/models/snippet.rb | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/app/models/snippet.rb b/app/models/snippet.rb index d2af26539b6..90fada3c114 100644 --- a/app/models/snippet.rb +++ b/app/models/snippet.rb @@ -16,10 +16,11 @@ # class Snippet < ActiveRecord::Base - include Sortable - include Linguist::BlobHelper include Gitlab::VisibilityLevel + include Linguist::BlobHelper include Participable + include Referable + include Sortable default_value_for :visibility_level, Snippet::PRIVATE @@ -50,6 +51,20 @@ class Snippet < ActiveRecord::Base participant :author, :notes + def self.reference_prefix + '$' + end + + def to_reference(from_project = nil) + reference = "#{self.class.reference_prefix}#{id}" + + if cross_project_reference?(from_project) + reference = project.to_reference + reference + end + + reference + end + def self.content_types [ ".rb", ".py", ".pl", ".scala", ".c", ".cpp", ".java", |