From f2674c7b98c69668093583e4590223b7040b5b33 Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon Date: Tue, 29 Mar 2016 13:21:57 +0200 Subject: Refactor uploads rewriter used when moving issue --- app/services/issues/move_service.rb | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) (limited to 'app/services/issues/move_service.rb') diff --git a/app/services/issues/move_service.rb b/app/services/issues/move_service.rb index e15e25ee536..096a3643968 100644 --- a/app/services/issues/move_service.rb +++ b/app/services/issues/move_service.rb @@ -62,26 +62,15 @@ module Issues end def rewrite_content(content) - rewrite_uploads( - unfold_references(content) - ) - end - - def unfold_references(content) return unless content - rewriter = Gitlab::Gfm::ReferenceRewriter.new(content, @old_project, - @current_user) - rewriter.rewrite(@new_project) - end - - def rewrite_uploads(content) - return unless content + rewriters = [Gitlab::Gfm::ReferenceRewriter, + Gitlab::Gfm::UploadsRewriter] - rewriter = Gitlab::Gfm::UploadsRewriter.new(content, @old_project, - @current_user) - return content unless rewriter.has_uploads? - rewriter.rewrite(@new_project) + rewriters.inject(content) do |text, klass| + rewriter = klass.new(text, @old_project, @current_user) + rewriter.needs_rewrite? ? rewriter.rewrite(@new_project) : text + end end def close_issue -- cgit v1.2.1