class PgExport::Transactions::ExportDump

Private Instance Methods

build_dump(database_name:) click to toggle source
# File lib/pg_export/lib/pg_export/transactions/export_dump.rb, line 35
def build_dump(database_name:)
  dump = dump_factory.plain(
    database: database_name,
    file: bash_adapter.pg_dump(ValueObjects::DumpFile.new, database_name)
  )
  Success(dump: dump)
rescue bash_adapter.class::PgDumpError => e
  Failure(message: 'Unable to dump database: ' + e.to_s)
end
close_ftp_connection(removed_dumps:, ftp_adapter:) click to toggle source
# File lib/pg_export/lib/pg_export/transactions/export_dump.rb, line 50
def close_ftp_connection(removed_dumps:, ftp_adapter:)
  ftp_adapter.close_ftp
  Success(ftp_adapter: ftp_adapter)
end
prepare_params(database_name:) click to toggle source
# File lib/pg_export/lib/pg_export/transactions/export_dump.rb, line 27
def prepare_params(database_name:)
  database_name = database_name.to_s

  return Failure(message: 'Invalid database name') if database_name.empty?

  Success(database_name: database_name)
end
upload_dump_to_ftp(dump:, ftp_adapter:) click to toggle source
# File lib/pg_export/lib/pg_export/transactions/export_dump.rb, line 45
def upload_dump_to_ftp(dump:, ftp_adapter:)
  ftp_adapter.persist(dump.file, dump.name)
  Success(dump: dump, ftp_adapter: ftp_adapter)
end