Keep cross project reference logic in GroupLabel#to_reference

This commit is contained in:
Douglas Barbosa Alexandre 2016-10-11 16:30:40 -03:00
parent f74d5f2750
commit 1e6d136af3
2 changed files with 15 additions and 11 deletions

View File

@ -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

View File

@ -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