debian-mirror-gitlab/lib/gitlab/import_export/legacy_relation_tree_saver.rb

30 lines
698 B
Ruby
Raw Normal View History

2019-12-26 22:10:19 +05:30
# frozen_string_literal: true
module Gitlab
module ImportExport
2020-04-08 14:13:33 +05:30
class LegacyRelationTreeSaver
2019-12-26 22:10:19 +05:30
include Gitlab::ImportExport::CommandLineUtil
def serialize(exportable, relations_tree)
2020-04-22 19:07:51 +05:30
Gitlab::ImportExport::FastHashSerializer
2020-06-23 00:09:42 +05:30
.new(exportable, relations_tree, batch_size: batch_size(exportable))
2020-04-22 19:07:51 +05:30
.execute
2019-12-26 22:10:19 +05:30
end
def save(tree, dir_path, filename)
mkdir_p(dir_path)
2020-04-08 14:13:33 +05:30
tree_json = ::JSON.generate(tree)
2019-12-26 22:10:19 +05:30
File.write(File.join(dir_path, filename), tree_json)
end
2020-06-23 00:09:42 +05:30
private
def batch_size(exportable)
Gitlab::ImportExport::JSON::StreamingSerializer.batch_size(exportable)
end
2019-12-26 22:10:19 +05:30
end
end
end