class PgExport::Repositories::FtpDumpRepository

Constants

FilePlaceholder

Public Instance Methods

all(database_name:, ftp_adapter:) click to toggle source
# File lib/pg_export/lib/pg_export/repositories/ftp_dump_repository.rb, line 11
def all(database_name:, ftp_adapter:)
  ftp_adapter.list([database_name, '*'].compact.join('_')).map do |name:, size:|
    begin
      dump(name, database_name, size)
    rescue Dry::Types::ConstraintError
      nil
    end
  end.compact
end
by_database_name(database_name:, ftp_adapter:, offset:) click to toggle source
# File lib/pg_export/lib/pg_export/repositories/ftp_dump_repository.rb, line 21
def by_database_name(database_name:, ftp_adapter:, offset:)
  ftp_adapter.list(database_name + '_*').drop(offset).map do |name:, size:|
    begin
      dump(name, database_name, size)
    rescue Dry::Types::ConstraintError
      nil
    end
  end.compact
end

Private Instance Methods

dump(name, database_name, size) click to toggle source
# File lib/pg_export/lib/pg_export/repositories/ftp_dump_repository.rb, line 36
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