Sha256: e21d2219c26eeff46b853de6d61b532b36dbf8ac25457182fd1adb873b9cc713
Contents?: true
Size: 1.16 KB
Versions: 4
Compression:
Stored size: 1.16 KB
Contents
# frozen_string_literal: true require 'open3' require 'pg_export/import' require 'pg_export/lib/pg_export/entities/dump' require 'pg_export/lib/pg_export/value_objects/dump_file' class PgExport module Repositories class GatewayDumpRepository def all(database_name:, gateway:) gateway.list(database_name).map do |item| begin dump(item[:name], database_name, item[:size]) rescue Dry::Types::ConstraintError nil end end.compact end def by_database_name(database_name:, gateway:, offset:) gateway.list(database_name).drop(offset).map do |item| begin dump(item[:name], database_name, item[:size]) rescue Dry::Types::ConstraintError nil end end.compact end private FilePlaceholder = Struct.new(:size) private_constant :FilePlaceholder def dump(name, database_name, size) Entities::Dump.new( name: name, database: database_name, file: ValueObjects::DumpFile.new(FilePlaceholder.new(size.to_i)), type: :encrypted ) end end end end
Version data entries
4 entries across 4 versions & 1 rubygems