class PgExport::Transactions::ImportDumpInteractively

Private Instance Methods

close_ftp_connection(dump:, ftp_adapter:) click to toggle source
# File lib/pg_export/lib/pg_export/transactions/import_dump_interactively.rb, line 49
def close_ftp_connection(dump:, ftp_adapter:)
  Thread.new { ftp_adapter.close_ftp }
  Success(dump: dump)
end
download_dump_from_ftp(dump:, ftp_adapter:) click to toggle source
# File lib/pg_export/lib/pg_export/transactions/import_dump_interactively.rb, line 44
def download_dump_from_ftp(dump:, ftp_adapter:)
  dump.file = ftp_dump_file_repository.by_name(name: dump.name, ftp_adapter: ftp_adapter)
  Success(dump: dump, ftp_adapter: ftp_adapter)
end
fetch_dumps_from_ftp(database_name:, ftp_adapter:) click to toggle source
# File lib/pg_export/lib/pg_export/transactions/import_dump_interactively.rb, line 32
def fetch_dumps_from_ftp(database_name:, ftp_adapter:)
  dumps = ftp_dump_repository.all(database_name: database_name, ftp_adapter: ftp_adapter)
  return Failure(message: 'No dumps') if dumps.none?

  Success(ftp_adapter: ftp_adapter, dumps: dumps)
end
restore(dump:, database:) click to toggle source
# File lib/pg_export/lib/pg_export/transactions/import_dump_interactively.rb, line 59
def restore(dump:, database:)
  bash_adapter.pg_restore(dump.file, database)
  Success({})
rescue bash_adapter.class::PgRestoreError => e
  Failure(message: e.to_s)
end
select_database(dump:) click to toggle source
# File lib/pg_export/lib/pg_export/transactions/import_dump_interactively.rb, line 54
def select_database(dump:)
  name = ui_input.enter_database_name(dump.database)
  Success(dump: dump, database: name)
end
select_dump(dumps:, ftp_adapter:) click to toggle source
# File lib/pg_export/lib/pg_export/transactions/import_dump_interactively.rb, line 39
def select_dump(dumps:, ftp_adapter:)
  dump = ui_input.select_dump(dumps)
  Success(dump: dump, ftp_adapter: ftp_adapter)
end