debian-mirror-gitlab/lib/gitlab/import_export/legacy_relation_tree_saver.rb
2020-06-23 00:09:42 +05:30

30 lines
698 B
Ruby

# frozen_string_literal: true
module Gitlab
module ImportExport
class LegacyRelationTreeSaver
include Gitlab::ImportExport::CommandLineUtil
def serialize(exportable, relations_tree)
Gitlab::ImportExport::FastHashSerializer
.new(exportable, relations_tree, batch_size: batch_size(exportable))
.execute
end
def save(tree, dir_path, filename)
mkdir_p(dir_path)
tree_json = ::JSON.generate(tree)
File.write(File.join(dir_path, filename), tree_json)
end
private
def batch_size(exportable)
Gitlab::ImportExport::JSON::StreamingSerializer.batch_size(exportable)
end
end
end
end