Commit 771f7351 authored by James Lopez's avatar James Lopez

few more modifications based on comments

parent e2c95c07
...@@ -20,6 +20,10 @@ module Gitlab ...@@ -20,6 +20,10 @@ module Gitlab
"project.bundle" "project.bundle"
end end
def config_file
'lib/gitlab/import_export/import_export.yml'
end
def version_filename def version_filename
'VERSION' 'VERSION'
end end
......
...@@ -2,17 +2,18 @@ module Gitlab ...@@ -2,17 +2,18 @@ module Gitlab
module ImportExport module ImportExport
class ImportExportReader class ImportExportReader
def initialize(config: 'lib/gitlab/import_export/import_export.yml', shared:) def initialize(shared:)
config = ImportExport.config_file
@shared = shared @shared = shared
config_hash = YAML.load_file(config).deep_symbolize_keys config_hash = YAML.load_file(config).deep_symbolize_keys
@tree = config_hash[:project_tree] @tree = config_hash[:project_tree]
@attributes_parser = Gitlab::ImportExport::AttributesFinder.new(included_attributes: config_hash[:included_attributes], @attributes_finder = Gitlab::ImportExport::AttributesFinder.new(included_attributes: config_hash[:included_attributes],
excluded_attributes: config_hash[:excluded_attributes], excluded_attributes: config_hash[:excluded_attributes],
methods: config_hash[:methods]) methods: config_hash[:methods])
end end
def project_tree def project_tree
@attributes_parser.find_included(:project).merge(include: build_hash(@tree)) @attributes_finder.find_included(:project).merge(include: build_hash(@tree))
rescue => e rescue => e
@shared.error(e.message) @shared.error(e.message)
false false
...@@ -25,7 +26,7 @@ module Gitlab ...@@ -25,7 +26,7 @@ module Gitlab
if model_objects.is_a?(Hash) if model_objects.is_a?(Hash)
build_json_config_hash(model_objects) build_json_config_hash(model_objects)
else else
@attributes_parser.find(model_objects) @attributes_finder.find(model_objects)
end end
end end
end end
...@@ -36,7 +37,7 @@ module Gitlab ...@@ -36,7 +37,7 @@ module Gitlab
model_object_hash.values.flatten.each do |model_object| model_object_hash.values.flatten.each do |model_object|
current_key = model_object_hash.keys.first current_key = model_object_hash.keys.first
@attributes_parser.parse(current_key) { |hash| @json_config_hash[current_key] ||= hash } @attributes_finder.parse(current_key) { |hash| @json_config_hash[current_key] ||= hash }
handle_model_object(current_key, model_object) handle_model_object(current_key, model_object)
process_sub_model(current_key, model_object) if model_object.is_a?(Hash) process_sub_model(current_key, model_object) if model_object.is_a?(Hash)
...@@ -66,14 +67,14 @@ module Gitlab ...@@ -66,14 +67,14 @@ module Gitlab
def create_model_value(current_key, value) def create_model_value(current_key, value)
parsed_hash = { include: value } parsed_hash = { include: value }
@attributes_parser.parse(value) do |hash| @attributes_finder.parse(value) do |hash|
parsed_hash = { include: hash_or_merge(value, hash) } parsed_hash = { include: hash_or_merge(value, hash) }
end end
@json_config_hash[current_key] = parsed_hash @json_config_hash[current_key] = parsed_hash
end end
def add_model_value(current_key, value) def add_model_value(current_key, value)
@attributes_parser.parse(value) { |hash| value = { value => hash } } @attributes_finder.parse(value) { |hash| value = { value => hash } }
old_values = @json_config_hash[current_key][:include] old_values = @json_config_hash[current_key][:include]
@json_config_hash[current_key][:include] = ([old_values] + [value]).compact.flatten @json_config_hash[current_key][:include] = ([old_values] + [value]).compact.flatten
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment