From 2a7a1bcc3aa606a0aab46620c2b262a33c276c7f Mon Sep 17 00:00:00 2001
From: James Lopez <james@jameslopez.es>
Date: Thu, 10 Mar 2016 16:21:17 +0100
Subject: [PATCH] refactored methods in project tree restorer

---
 .../import_export/project_tree_restorer.rb       | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/app/services/projects/import_export/project_tree_restorer.rb b/app/services/projects/import_export/project_tree_restorer.rb
index 980a376be16..3ad42f41457 100644
--- a/app/services/projects/import_export/project_tree_restorer.rb
+++ b/app/services/projects/import_export/project_tree_restorer.rb
@@ -13,19 +13,23 @@ module Projects
       def restore
         json = IO.read(@path)
         tree_hash = ActiveSupport::JSON.decode(json)
-        project_params = tree_hash.reject { |_key, value| value.is_a?(Array) }
-        project = Projects::ImportExport::ProjectFactory.create(project_params: project_params, user: @user)
-        project.save
-        relation_hash = {}
+        project = create_project(tree_hash)
         ImportExport.project_tree.each do |relation|
           next if tree_hash[relation.to_s].empty?
-          relation_hash[relation.to_s] = create_relation(relation, tree_hash[relation.to_s], project.id)
-          project.update_attribute(relation, relation_hash[relation.to_s])
+          relation_hash = create_relation(relation, tree_hash[relation.to_s], project.id)
+          project.update_attribute(relation, relation_hash)
         end
       end
 
       private
 
+      def create_project(tree_hash)
+        project_params = tree_hash.reject { |_key, value| value.is_a?(Array) }
+        project = Projects::ImportExport::ProjectFactory.create(project_params: project_params, user: @user)
+        project.save
+        project
+      end
+
       def create_relation(relation, relation_hash_list, project_id)
         relation_hash_list.map do |relation_hash|
           Projects::ImportExport::RelationFactory.create(
-- 
GitLab