summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-10-11 16:30:40 -0300
committerDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-10-19 14:58:26 -0200
commit1e6d136af31b0b91a03881a0c20b9bfa448201ee (patch)
tree1d40a3f071a078c96ac86d1b16aa1aaaf1f57cee
parentf74d5f2750c638f30020ba727e2947b7207bf0e2 (diff)
downloadgitlab-ce-1e6d136af31b0b91a03881a0c20b9bfa448201ee.tar.gz
Keep cross project reference logic in GroupLabel#to_reference
-rw-r--r--app/models/group_label.rb16
-rw-r--r--lib/gitlab/gfm/reference_rewriter.rb10
2 files changed, 15 insertions, 11 deletions
diff --git a/app/models/group_label.rb b/app/models/group_label.rb
index bfcaf3df27e..c7efa29a5f6 100644
--- a/app/models/group_label.rb
+++ b/app/models/group_label.rb
@@ -15,8 +15,20 @@ class GroupLabel < Label
#
# Returns a String
#
- def to_reference(from_project = nil, format: :id)
+ def to_reference(source_project = nil, target_project = nil, format: :id)
format_reference = label_format_reference(format)
- "#{self.class.reference_prefix}#{format_reference}"
+ reference = "#{self.class.reference_prefix}#{format_reference}"
+
+ if cross_project_reference?(source_project, target_project)
+ source_project.to_reference + reference
+ else
+ reference
+ end
+ end
+
+ private
+
+ def cross_project_reference?(source_project, target_project)
+ source_project && target_project && source_project != target_project
end
end
diff --git a/lib/gitlab/gfm/reference_rewriter.rb b/lib/gitlab/gfm/reference_rewriter.rb
index d0b8cd90e0e..a7c596dced0 100644
--- a/lib/gitlab/gfm/reference_rewriter.rb
+++ b/lib/gitlab/gfm/reference_rewriter.rb
@@ -76,15 +76,7 @@ module Gitlab
if referable.respond_to?(:project)
referable.to_reference(target_project)
else
- to_reference(referable, target_project)
- end
- end
-
- def to_reference(referable, target_project)
- if @source_project != target_project
- @source_project.to_reference + referable.to_reference
- else
- referable.to_reference
+ referable.to_reference(@source_project, target_project)
end
end