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