GitLab wurde aktualisiert. Dank regelmäßiger Updates bleibt das THM GitLab sicher und Sie profitieren von den neuesten Funktionen. Vielen Dank für Ihre Geduld.

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

few more modifications based on comments

parent e2c95c07
......@@ -20,6 +20,10 @@ def project_bundle_filename
"project.bundle"
end
def config_file
'lib/gitlab/import_export/import_export.yml'
end
def version_filename
'VERSION'
end
......
......@@ -2,17 +2,18 @@ module Gitlab
module ImportExport
class ImportExportReader
def initialize(config: 'lib/gitlab/import_export/import_export.yml', shared:)
def initialize(shared:)
config = ImportExport.config_file
@shared = shared
config_hash = YAML.load_file(config).deep_symbolize_keys
@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],
methods: config_hash[:methods])
end
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
@shared.error(e.message)
false
......@@ -25,7 +26,7 @@ def build_hash(model_list)
if model_objects.is_a?(Hash)
build_json_config_hash(model_objects)
else
@attributes_parser.find(model_objects)
@attributes_finder.find(model_objects)
end
end
end
......@@ -36,7 +37,7 @@ def build_json_config_hash(model_object_hash)
model_object_hash.values.flatten.each do |model_object|
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)
process_sub_model(current_key, model_object) if model_object.is_a?(Hash)
......@@ -66,14 +67,14 @@ def handle_model_object(current_key, model_object)
def create_model_value(current_key, 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) }
end
@json_config_hash[current_key] = parsed_hash
end
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]
@json_config_hash[current_key][:include] = ([old_values] + [value]).compact.flatten
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