pg_export 0.7.6 → 1.0.0.rc4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +6 -3
  4. data/CHANGELOG.md +15 -0
  5. data/README.md +14 -11
  6. data/bin/pg_export +91 -26
  7. data/lib/pg_export.rb +5 -13
  8. data/lib/pg_export/configuration.rb +21 -13
  9. data/lib/pg_export/container.rb +5 -30
  10. data/lib/pg_export/import.rb +1 -1
  11. data/lib/pg_export/lib/pg_export/factories/cipher_factory.rb +7 -10
  12. data/lib/pg_export/lib/pg_export/factories/ftp_gateway_factory.rb +22 -0
  13. data/lib/pg_export/lib/pg_export/factories/ssh_gateway_factory.rb +22 -0
  14. data/lib/pg_export/lib/pg_export/{adapters/ftp_adapter.rb → gateways/ftp.rb} +11 -8
  15. data/lib/pg_export/lib/pg_export/gateways/ssh.rb +83 -0
  16. data/lib/pg_export/lib/pg_export/listeners/interactive/build_dump.rb +4 -4
  17. data/lib/pg_export/lib/pg_export/listeners/interactive/{close_ftp_connection.rb → close_connection.rb} +1 -1
  18. data/lib/pg_export/lib/pg_export/listeners/interactive/decrypt_dump.rb +2 -2
  19. data/lib/pg_export/lib/pg_export/listeners/interactive/{download_dump_from_ftp.rb → download_dump.rb} +3 -3
  20. data/lib/pg_export/lib/pg_export/listeners/interactive/encrypt_dump.rb +2 -2
  21. data/lib/pg_export/lib/pg_export/listeners/interactive/{fetch_dumps_from_ftp.rb → fetch_dumps.rb} +1 -1
  22. data/lib/pg_export/lib/pg_export/listeners/interactive/{open_ftp_connection.rb → open_connection.rb} +2 -2
  23. data/lib/pg_export/lib/pg_export/listeners/interactive/{remove_old_dumps_from_ftp.rb → remove_old_dumps.rb} +6 -6
  24. data/lib/pg_export/lib/pg_export/listeners/interactive/restore.rb +2 -2
  25. data/lib/pg_export/lib/pg_export/listeners/interactive/{upload_dump_to_ftp.rb → upload_dump.rb} +3 -3
  26. data/lib/pg_export/lib/pg_export/listeners/interactive_listener.rb +2 -2
  27. data/lib/pg_export/lib/pg_export/listeners/plain/build_dump.rb +2 -2
  28. data/lib/pg_export/lib/pg_export/listeners/plain/{close_ftp_connection.rb → close_connection.rb} +2 -2
  29. data/lib/pg_export/lib/pg_export/listeners/plain/decrypt_dump.rb +2 -2
  30. data/lib/pg_export/lib/pg_export/listeners/plain/{download_dump_from_ftp.rb → download_dump.rb} +3 -3
  31. data/lib/pg_export/lib/pg_export/listeners/plain/encrypt_dump.rb +2 -2
  32. data/lib/pg_export/lib/pg_export/listeners/plain/fetch_dumps.rb +15 -0
  33. data/lib/pg_export/lib/pg_export/listeners/plain/open_connection.rb +15 -0
  34. data/lib/pg_export/lib/pg_export/listeners/plain/remove_old_dumps.rb +17 -0
  35. data/lib/pg_export/lib/pg_export/listeners/plain/restore.rb +1 -1
  36. data/lib/pg_export/lib/pg_export/listeners/plain/upload_dump.rb +15 -0
  37. data/lib/pg_export/lib/pg_export/listeners/plain_listener.rb +2 -2
  38. data/lib/pg_export/lib/pg_export/operations/{open_ftp_connection.rb → open_connection.rb} +5 -5
  39. data/lib/pg_export/lib/pg_export/operations/{remove_old_dumps_from_ftp.rb → remove_old_dumps.rb} +7 -7
  40. data/lib/pg_export/lib/pg_export/repositories/{ftp_dump_file_repository.rb → gateway_dump_file_repository.rb} +3 -3
  41. data/lib/pg_export/lib/pg_export/repositories/{ftp_dump_repository.rb → gateway_dump_repository.rb} +7 -7
  42. data/lib/pg_export/lib/pg_export/transactions/export_dump.rb +10 -10
  43. data/lib/pg_export/lib/pg_export/transactions/import_dump_interactively.rb +16 -16
  44. data/lib/pg_export/system/boot/config.rb +17 -1
  45. data/lib/pg_export/system/boot/ftp.rb +11 -0
  46. data/lib/pg_export/system/boot/interactive.rb +4 -10
  47. data/lib/pg_export/system/boot/operations.rb +17 -0
  48. data/lib/pg_export/system/boot/plain.rb +5 -11
  49. data/lib/pg_export/system/boot/ssh.rb +11 -0
  50. data/lib/pg_export/version.rb +1 -1
  51. data/pg_export.gemspec +10 -6
  52. metadata +98 -39
  53. data/lib/pg_export/build_logger.rb +0 -21
  54. data/lib/pg_export/lib/pg_export/factories/ftp_adapter_factory.rb +0 -22
  55. data/lib/pg_export/lib/pg_export/listeners/plain/fetch_dumps_from_ftp.rb +0 -15
  56. data/lib/pg_export/lib/pg_export/listeners/plain/open_ftp_connection.rb +0 -15
  57. data/lib/pg_export/lib/pg_export/listeners/plain/remove_old_dumps_from_ftp.rb +0 -17
  58. data/lib/pg_export/lib/pg_export/listeners/plain/upload_dump_to_ftp.rb +0 -15
  59. data/lib/pg_export/system/boot/logger.rb +0 -15
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'logger'
4
-
5
- class PgExport
6
- class BuildLogger
7
- FORMATS = {
8
- plain: ->(_, _, _, message) { "#{message}\n" },
9
- muted: ->(*) { raise 'Do not initialize logger when it is muted' },
10
- timestamped: lambda do |severity, datetime, progname, message|
11
- "#{datetime} #{Process.pid} TID-#{Thread.current.object_id.to_s(36)}#{progname} #{severity}: #{message}\n"
12
- end
13
- }.freeze
14
-
15
- def self.call(stream:, format:)
16
- Logger.new(stream).tap do |logger|
17
- logger.formatter = FORMATS.fetch(format.to_sym)
18
- end
19
- end
20
- end
21
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # auto_register: false
4
-
5
- require 'pg_export/lib/pg_export/adapters/ftp_adapter'
6
- require 'pg_export/import'
7
-
8
- class PgExport
9
- module Factories
10
- class FtpAdapterFactory
11
- include Import['config']
12
-
13
- def ftp_adapter
14
- ::PgExport::Adapters::FtpAdapter.new(
15
- host: config.ftp_host,
16
- user: config.ftp_user,
17
- password: config.ftp_password
18
- )
19
- end
20
- end
21
- end
22
- end
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../plain_listener'
4
-
5
- class PgExport
6
- module Listeners
7
- class Plain
8
- class FetchDumpsFromFtp < PlainListener
9
- def on_step_succeeded(step_name:, args:, value:)
10
- logger.info("Fetch dumps (#{value[:dumps].count} items)")
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../plain_listener'
4
-
5
- class PgExport
6
- module Listeners
7
- class Plain
8
- class OpenFtpConnection < PlainListener
9
- def on_step_succeeded(step_name:, args:, value:)
10
- logger.info("Connect to #{value[:ftp_adapter]}")
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../plain_listener'
4
-
5
- class PgExport
6
- module Listeners
7
- class Plain
8
- class RemoveOldDumpsFromFtp < PlainListener
9
- def on_step_succeeded(step_name:, args:, value:)
10
- value[:removed_dumps].each do |filename|
11
- logger.info("Remove #{filename} from #{value[:ftp_adapter]}")
12
- end
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../plain_listener'
4
-
5
- class PgExport
6
- module Listeners
7
- class Plain
8
- class UploadDumpToFtp < PlainListener
9
- def on_step_succeeded(step_name:, args:, value:)
10
- logger.info("Upload #{value[:dump]} to #{value[:ftp_adapter]}")
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- PgExport::Container.boot :logger do
4
- init do
5
- require 'pg_export/build_logger'
6
- end
7
-
8
- start do
9
- use :config
10
-
11
- register(:logger, memoize: true) do
12
- PgExport::BuildLogger.call(stream: $stdout, format: target[:config].logger_format)
13
- end
14
- end
15
- end