pg_export 1.0.0.rc6 → 1.0.0.rc8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +23 -2
  3. data/CHANGELOG.md +6 -3
  4. data/README.md +43 -34
  5. data/bin/pg_export +13 -131
  6. data/lib/pg_export/{lib/pg_export/adapters → adapters}/shell_adapter.rb +0 -0
  7. data/lib/pg_export/commands_factory.rb +158 -0
  8. data/lib/pg_export/configuration.rb +15 -16
  9. data/lib/pg_export/configuration_parser.rb +126 -0
  10. data/lib/pg_export/{lib/pg_export/entities → entities}/dump.rb +0 -0
  11. data/lib/pg_export/{lib/pg_export/factories → factories}/cipher_factory.rb +0 -0
  12. data/lib/pg_export/{lib/pg_export/factories → factories}/dump_factory.rb +1 -1
  13. data/lib/pg_export/{lib/pg_export/factories → factories}/ftp_gateway_factory.rb +1 -1
  14. data/lib/pg_export/{lib/pg_export/repositories/gateway_dump_file_repository.rb → factories/gateway_dump_file_factory.rb} +4 -4
  15. data/lib/pg_export/{lib/pg_export/factories → factories}/ssh_gateway_factory.rb +1 -1
  16. data/lib/pg_export/{lib/pg_export/gateways → gateways}/ftp.rb +0 -0
  17. data/lib/pg_export/{lib/pg_export/gateways → gateways}/ssh.rb +0 -0
  18. data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/build_dump.rb +0 -0
  19. data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/close_connection.rb +0 -0
  20. data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/decrypt_dump.rb +0 -0
  21. data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/download_dump.rb +0 -0
  22. data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/encrypt_dump.rb +0 -0
  23. data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/fetch_dumps.rb +0 -0
  24. data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/open_connection.rb +0 -0
  25. data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/remove_old_dumps.rb +0 -0
  26. data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/restore.rb +0 -0
  27. data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/select_database.rb +0 -0
  28. data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/select_dump.rb +0 -0
  29. data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/upload_dump.rb +0 -0
  30. data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive_listener.rb +0 -0
  31. data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain/build_dump.rb +0 -0
  32. data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain/close_connection.rb +0 -0
  33. data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain/decrypt_dump.rb +0 -0
  34. data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain/download_dump.rb +0 -0
  35. data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain/encrypt_dump.rb +0 -0
  36. data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain/fetch_dumps.rb +0 -0
  37. data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain/open_connection.rb +0 -0
  38. data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain/prepare_params.rb +0 -0
  39. data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain/remove_old_dumps.rb +0 -0
  40. data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain/restore.rb +0 -0
  41. data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain/upload_dump.rb +0 -0
  42. data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain_listener.rb +0 -0
  43. data/lib/pg_export/{lib/pg_export/operations → operations}/decrypt_dump.rb +1 -1
  44. data/lib/pg_export/{lib/pg_export/operations → operations}/encrypt_dump.rb +1 -1
  45. data/lib/pg_export/{lib/pg_export/operations → operations}/open_connection.rb +1 -1
  46. data/lib/pg_export/{lib/pg_export/operations → operations}/remove_old_dumps.rb +1 -1
  47. data/lib/pg_export/{lib/pg_export/repositories → repositories}/gateway_dump_repository.rb +2 -2
  48. data/lib/pg_export/{lib/pg_export/transactions → transactions}/evaluator.rb +0 -0
  49. data/lib/pg_export/{lib/pg_export/transactions → transactions}/export_dump.rb +10 -10
  50. data/lib/pg_export/{lib/pg_export/transactions → transactions}/import_dump_interactively.rb +19 -10
  51. data/lib/pg_export/{lib/pg_export/ui → ui}/interactive/input.rb +0 -0
  52. data/lib/pg_export/{lib/pg_export/ui → ui}/plain/input.rb +0 -0
  53. data/lib/pg_export/{lib/pg_export/value_objects → value_objects}/dump_file.rb +0 -0
  54. data/lib/pg_export/{lib/pg_export/value_objects → value_objects}/result.rb +1 -1
  55. data/lib/pg_export/version.rb +1 -1
  56. data/lib/pg_export.rb +12 -14
  57. data/pg_export.gemspec +1 -3
  58. metadata +50 -49
  59. data/lib/pg_export/factory.rb +0 -148
@@ -0,0 +1,126 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'optparse'
4
+ require 'pg_export/configuration'
5
+
6
+ class PgExport
7
+ class ConfigurationParser
8
+ class Error < OptionParser::ParseError; end
9
+
10
+ class << self
11
+ def parse
12
+ h = {
13
+ encryption_key: ENV['PG_EXPORT_ENCRYPTION_KEY'],
14
+ encryption_algorithm: ENV['PG_EXPORT_ENCRYPTION_ALGORITHM'],
15
+ gateway_user: ENV['PG_EXPORT_GATEWAY_USER'],
16
+ gateway_host: ENV['PG_EXPORT_GATEWAY_HOST'],
17
+ gateway_password: ENV['PG_EXPORT_GATEWAY_PASSWORD'],
18
+ logger_format: ENV['PG_EXPORT_LOGGER_FORMAT'],
19
+ keep_dumps: ENV['PG_EXPORT_KEEP_DUMPS'],
20
+ gateway: ENV['PG_EXPORT_GATEWAY'],
21
+ database: ENV['PG_EXPORT_DATABASE'],
22
+ mode: ENV['PG_EXPORT_MODE'],
23
+ command: :export_dump
24
+ }
25
+
26
+ option_parser(h).parse!
27
+ h[:database] = ARGV.first unless ARGV.empty?
28
+
29
+ Configuration.new(**h)
30
+ rescue OptionParser::ParseError => e
31
+ error = Error.new(*e.args)
32
+ error.reason = e.reason
33
+ raise error
34
+ end
35
+
36
+ def help
37
+ option_parser.to_s
38
+ end
39
+
40
+ BANNER = <<~TXT
41
+ NAME
42
+ pg_export - CLI for exporting/importing PostgreSQL dumps via FTP/SSH
43
+
44
+ SYNOPSIS
45
+ pg_export DATABASE [OPTION..]
46
+ pg_export --interactive DATABASE [OPTION..]
47
+
48
+ EXIT VALUES
49
+ 0 - Success
50
+ 1 - Error
51
+
52
+ ARGUMENTS
53
+ DATABASE - database name to export (when default mode)
54
+ - phrase to filter database dumps by (when interactive mode)
55
+
56
+ OPTIONS
57
+ TXT
58
+
59
+ EXAMPLE = <<~TXT
60
+ ENV
61
+ Each of the above options can be also set using enviromental variables.
62
+ Use full option names prepending with PG_EXPORT_ phrase.
63
+ Command line options takes precedence over the ENVs.
64
+
65
+ Eg. below two commands are equivalent:
66
+ pg_export -s -U user -H host database_name -k 10
67
+
68
+ Is equivalent to:
69
+ export PG_EXPORT_GATEWAY_USER=user
70
+ export PG_EXPORT_GATEWAY_HOST=host
71
+ export PG_EXPORT_KEEP=20
72
+ pg_export -s database_name -k 10
73
+ TXT
74
+
75
+ N = "\n "
76
+
77
+ O = {
78
+ g: 'Allowed values: ftp, ssh. Default: ftp',
79
+ U: 'Gateway (ftp or ssh) user',
80
+ H: 'Gateway (ftp or ssh) host',
81
+ P: 'Gateway (ftp or ssh) password',
82
+ d: "In plain mode: database name to export;#{N}In interactive mode: phrase to filter by",
83
+ e: 'Dumps will be SSL encrypted using this key. Should have exactly 16 characters',
84
+ a: "Encryption cipher algorithm (default: AES-128-CBC);#{N}For available option see `$ openssl list -cipher-algorithms`",
85
+ k: 'Number of dump files to keep on FTP (default: 10)',
86
+ s: 'Same as "--gateway ssh". When set, the --gateway option is ignored',
87
+ f: 'Same as "--gateway ftp". When set, the --gateway option is ignored',
88
+ t: 'Prepends log messages with timestamps',
89
+ m: 'Mutes log messages. When set, the -t option is ignored. Prints message only on error',
90
+ i: 'Interactive mode, for importing dumps. Whan set, the -t and -m options are ignored',
91
+ w: 'Try connecting to the gateway (FTP or SSH) to verify the connection and exit',
92
+ c: 'Print the configuration and exit',
93
+ v: 'Print version',
94
+ h: 'Print this message and exit'
95
+ }.freeze
96
+ private_constant :BANNER, :EXAMPLE, :N, :O
97
+
98
+ def option_parser(h = {})
99
+ OptionParser.new do |o|
100
+ o.banner = BANNER
101
+ o.program_name = 'pg_export'
102
+ o.version = PgExport::VERSION
103
+ o.on('-g', '--gateway GATEWAY', %w[ftp ssh], O[:g]) { |v| h[:gateway] = v }
104
+ o.on('-U', '--user USER', String, O[:U]) { |v| h[:gateway_user] = v }
105
+ o.on('-H', '--host HOST', String, O[:H]) { |v| h[:gateway_host] = v }
106
+ o.on('-P', '--password PASSWORD', String, O[:P]) { |v| h[:gateway_password] = v }
107
+ o.on('-d', '--database DATABASE', String, O[:d]) { |v| h[:database] = v }
108
+ o.on('-e', '--encryption_key KEY', String, O[:e]) { |v| h[:encryption_key] = v }
109
+ o.on('-a', '--algorithm ALGORITHM', String, O[:a]) { |v| h[:encryption_algorithm] = v }
110
+ o.on('-k', '--keep KEEP', Integer, O[:k]) { |v| h[:keep_dumps] = v }
111
+ o.on('-s', '--ssh', O[:s]) { h[:gateway] = 'ssh' }
112
+ o.on('-f', '--ftp', O[:f]) { h[:gateway] = 'ftp' }
113
+ o.on('-t', '--timestamped', O[:t]) { h[:logger_format] = 'timestamped' }
114
+ o.on('-m', '--muted', O[:m]) { h[:logger_format] = 'muted' }
115
+ o.on('-i', '--interactive', O[:i]) { h[:command] = :import_dump_interactively }
116
+ o.on('-w', '--welcome', O[:w]) { h[:command] = :gateway_welcome }
117
+ o.on('-c', '--configuration', O[:c]) { h[:command] = :print_configuration }
118
+ o.on('-v', '--version', O[:v]) { h[:command] = :print_version }
119
+ o.on('-h', '--help', O[:h]) { h[:command] = :print_help }
120
+ o.separator ''
121
+ o.separator EXAMPLE
122
+ end
123
+ end
124
+ end
125
+ end
126
+ end
@@ -3,7 +3,7 @@
3
3
  require 'open3'
4
4
  require 'tempfile'
5
5
 
6
- require 'pg_export/lib/pg_export/entities/dump'
6
+ require 'pg_export/entities/dump'
7
7
 
8
8
  class PgExport
9
9
  module Factories
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'pg_export/lib/pg_export/gateways/ftp'
3
+ require 'pg_export/gateways/ftp'
4
4
 
5
5
  class PgExport
6
6
  module Factories
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'open3'
4
- require 'pg_export/lib/pg_export/entities/dump'
5
- require 'pg_export/lib/pg_export/value_objects/dump_file'
4
+ require 'pg_export/entities/dump'
5
+ require 'pg_export/value_objects/dump_file'
6
6
 
7
7
  class PgExport
8
- module Repositories
9
- class GatewayDumpFileRepository
8
+ module Factories
9
+ class GatewayDumpFileFactory
10
10
  def by_name(name:, gateway:)
11
11
  file = ValueObjects::DumpFile.new
12
12
  gateway.get(file, name)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'pg_export/lib/pg_export/gateways/ssh'
3
+ require 'pg_export/gateways/ssh'
4
4
 
5
5
  class PgExport
6
6
  module Factories
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'pg_export'
4
- require 'pg_export/lib/pg_export/value_objects/result'
4
+ require 'pg_export/value_objects/result'
5
5
 
6
6
  class PgExport
7
7
  module Operations
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'pg_export/lib/pg_export/value_objects/result'
3
+ require 'pg_export/value_objects/result'
4
4
 
5
5
  class PgExport
6
6
  module Operations
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'pg_export/lib/pg_export/value_objects/result'
3
+ require 'pg_export/value_objects/result'
4
4
 
5
5
  class PgExport
6
6
  module Operations
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'pg_export/lib/pg_export/value_objects/result'
3
+ require 'pg_export/value_objects/result'
4
4
 
5
5
  class PgExport
6
6
  module Operations
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'open3'
4
- require 'pg_export/lib/pg_export/entities/dump'
5
- require 'pg_export/lib/pg_export/value_objects/dump_file'
4
+ require 'pg_export/entities/dump'
5
+ require 'pg_export/value_objects/dump_file'
6
6
 
7
7
  class PgExport
8
8
  module Repositories
@@ -1,15 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'pg_export/lib/pg_export/transactions/evaluator'
4
- require 'pg_export/lib/pg_export/value_objects/dump_file'
5
- require 'pg_export/lib/pg_export/value_objects/result'
3
+ require 'pg_export/transactions/evaluator'
4
+ require 'pg_export/value_objects/dump_file'
5
+ require 'pg_export/adapters/shell_adapter'
6
+ require 'pg_export/value_objects/result'
6
7
 
7
8
  class PgExport
8
9
  module Transactions
9
10
  class ExportDump
10
- def initialize(dump_factory:, bash_adapter:, encrypt_dump:, open_connection:, remove_old_dumps:, listeners:)
11
+ def initialize(dump_factory:, shell_adapter:, encrypt_dump:, open_connection:, remove_old_dumps:, listeners:)
11
12
  @dump_factory = dump_factory
12
- @bash_adapter = bash_adapter
13
+ @shell_adapter = shell_adapter
13
14
 
14
15
  @evaluator = Evaluator.new(listeners)
15
16
  @evaluator << method(:prepare_params)
@@ -27,8 +28,7 @@ class PgExport
27
28
 
28
29
  private
29
30
 
30
- attr_reader :evaluator, :dump_factory, :bash_adapter
31
-
31
+ attr_reader :evaluator, :dump_factory, :shell_adapter
32
32
 
33
33
  def prepare_params(database_name:)
34
34
  database_name = database_name.to_s
@@ -41,10 +41,10 @@ class PgExport
41
41
  def build_dump(database_name:)
42
42
  dump = dump_factory.plain(
43
43
  database: database_name,
44
- file: bash_adapter.pg_dump(ValueObjects::DumpFile.new, database_name)
44
+ file: shell_adapter.pg_dump(ValueObjects::DumpFile.new, database_name)
45
45
  )
46
46
  ValueObjects::Success.new(dump: dump)
47
- rescue bash_adapter.class::PgDumpError => e
47
+ rescue Adapters::ShellAdapter::PgDumpError => e
48
48
  ValueObjects::Failure.new(message: 'Unable to dump database: ' + e.to_s)
49
49
  end
50
50
 
@@ -55,7 +55,7 @@ class PgExport
55
55
 
56
56
  def close_connection(removed_dumps:, gateway:)
57
57
  gateway.close
58
- ValueObjects::Success.new(gateway: gateway)
58
+ ValueObjects::Success.new
59
59
  end
60
60
  end
61
61
  end
@@ -1,16 +1,25 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'pg_export/lib/pg_export/transactions/evaluator'
4
- require 'pg_export/lib/pg_export/value_objects/result'
3
+ require 'pg_export/transactions/evaluator'
4
+ require 'pg_export/adapters/shell_adapter'
5
+ require 'pg_export/value_objects/result'
5
6
 
6
7
  class PgExport
7
8
  module Transactions
8
9
  class ImportDumpInteractively
9
- def initialize(input:, bash_adapter:, gateway_dump_repository:, gateway_dump_file_repository:, open_connection:, decrypt_dump:, listeners:)
10
+ def initialize(
11
+ input:,
12
+ shell_adapter:,
13
+ gateway_dump_repository:,
14
+ gateway_dump_file_factory:,
15
+ open_connection:,
16
+ decrypt_dump:,
17
+ listeners:
18
+ )
10
19
  @input = input
11
- @bash_adapter = bash_adapter
20
+ @shell_adapter = shell_adapter
12
21
  @gateway_dump_repository = gateway_dump_repository
13
- @gateway_dump_file_repository = gateway_dump_file_repository
22
+ @gateway_dump_file_factory = gateway_dump_file_factory
14
23
 
15
24
  @evaluator = Evaluator.new(listeners)
16
25
  @evaluator << open_connection
@@ -29,7 +38,7 @@ class PgExport
29
38
 
30
39
  private
31
40
 
32
- attr_reader :evaluator, :input, :bash_adapter, :gateway_dump_repository, :gateway_dump_file_repository
41
+ attr_reader :evaluator, :input, :shell_adapter, :gateway_dump_repository, :gateway_dump_file_factory
33
42
 
34
43
  def fetch_dumps(database_name:, gateway:)
35
44
  dumps = gateway_dump_repository.all(database_name: database_name, gateway: gateway)
@@ -44,7 +53,7 @@ class PgExport
44
53
  end
45
54
 
46
55
  def download_dump(dump:, gateway:)
47
- dump.file = gateway_dump_file_repository.by_name(name: dump.name, gateway: gateway)
56
+ dump.file = gateway_dump_file_factory.by_name(name: dump.name, gateway: gateway)
48
57
  ValueObjects::Success.new(dump: dump, gateway: gateway)
49
58
  end
50
59
 
@@ -59,9 +68,9 @@ class PgExport
59
68
  end
60
69
 
61
70
  def restore(dump:, database:)
62
- bash_adapter.pg_restore(dump.file, database)
63
- ValueObjects::Success.new({})
64
- rescue bash_adapter.class::PgRestoreError => e
71
+ shell_adapter.pg_restore(dump.file, database)
72
+ ValueObjects::Success.new(nil)
73
+ rescue Adapters::ShellAdapter::PgRestoreError => e
65
74
  ValueObjects::Failure.new(message: e.to_s)
66
75
  end
67
76
  end
@@ -5,7 +5,7 @@ class PgExport
5
5
  class Result
6
6
  attr_reader :value
7
7
 
8
- def initialize(value)
8
+ def initialize(value = nil)
9
9
  @value = value
10
10
  end
11
11
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class PgExport
4
- VERSION = '1.0.0.rc6'
4
+ VERSION = '1.0.0.rc8'
5
5
  end
data/lib/pg_export.rb CHANGED
@@ -2,27 +2,25 @@
2
2
 
3
3
  require 'pg_export/version'
4
4
  require 'pg_export/configuration'
5
- require 'pg_export/factory'
5
+ require 'pg_export/configuration_parser'
6
+ require 'pg_export/commands_factory'
6
7
 
7
8
  class PgExport
8
- class InitializationError < StandardError; end
9
+ def initialize(config)
10
+ raise ArgumentError, 'config is not a PgExport::Configuration' unless config.is_a?(PgExport::Configuration)
9
11
 
10
- attr_reader :config
11
-
12
- def initialize
13
- @config = PgExport::Configuration.build(ENV)
14
- @factory = PgExport::Factory.new(config: config)
15
- end
16
-
17
- def call(database_name, &block)
18
- factory.transaction.call(database_name: database_name, &block)
12
+ @command_name = config.command
13
+ @database_name = config.database
14
+ @commands_factory = PgExport::CommandsFactory.new(config: config)
19
15
  end
20
16
 
21
- def gateway_welcome
22
- container.gateway_factory.gateway.welcome
17
+ def call
18
+ commands_factory
19
+ .public_send(command_name)
20
+ .call(database_name: database_name)
23
21
  end
24
22
 
25
23
  private
26
24
 
27
- attr_reader :factory
25
+ attr_reader :command_name, :database_name, :commands_factory
28
26
  end
data/pg_export.gemspec CHANGED
@@ -1,8 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- lib = File.expand_path('lib', __dir__)
4
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require 'pg_export/version'
3
+ require_relative 'lib/pg_export/version'
6
4
 
7
5
  Gem::Specification.new do |spec|
8
6
  spec.name = 'pg_export'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg_export
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc6
4
+ version: 1.0.0.rc8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Krzysztof Maicher
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-17 00:00:00.000000000 Z
11
+ date: 2022-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bcrypt_pbkdf
@@ -203,54 +203,55 @@ files:
203
203
  - bin/pg_export
204
204
  - bin/setup
205
205
  - lib/pg_export.rb
206
+ - lib/pg_export/adapters/shell_adapter.rb
207
+ - lib/pg_export/commands_factory.rb
206
208
  - lib/pg_export/configuration.rb
207
- - lib/pg_export/factory.rb
208
- - lib/pg_export/lib/pg_export/adapters/shell_adapter.rb
209
- - lib/pg_export/lib/pg_export/entities/dump.rb
210
- - lib/pg_export/lib/pg_export/factories/cipher_factory.rb
211
- - lib/pg_export/lib/pg_export/factories/dump_factory.rb
212
- - lib/pg_export/lib/pg_export/factories/ftp_gateway_factory.rb
213
- - lib/pg_export/lib/pg_export/factories/ssh_gateway_factory.rb
214
- - lib/pg_export/lib/pg_export/gateways/ftp.rb
215
- - lib/pg_export/lib/pg_export/gateways/ssh.rb
216
- - lib/pg_export/lib/pg_export/listeners/interactive/build_dump.rb
217
- - lib/pg_export/lib/pg_export/listeners/interactive/close_connection.rb
218
- - lib/pg_export/lib/pg_export/listeners/interactive/decrypt_dump.rb
219
- - lib/pg_export/lib/pg_export/listeners/interactive/download_dump.rb
220
- - lib/pg_export/lib/pg_export/listeners/interactive/encrypt_dump.rb
221
- - lib/pg_export/lib/pg_export/listeners/interactive/fetch_dumps.rb
222
- - lib/pg_export/lib/pg_export/listeners/interactive/open_connection.rb
223
- - lib/pg_export/lib/pg_export/listeners/interactive/remove_old_dumps.rb
224
- - lib/pg_export/lib/pg_export/listeners/interactive/restore.rb
225
- - lib/pg_export/lib/pg_export/listeners/interactive/select_database.rb
226
- - lib/pg_export/lib/pg_export/listeners/interactive/select_dump.rb
227
- - lib/pg_export/lib/pg_export/listeners/interactive/upload_dump.rb
228
- - lib/pg_export/lib/pg_export/listeners/interactive_listener.rb
229
- - lib/pg_export/lib/pg_export/listeners/plain/build_dump.rb
230
- - lib/pg_export/lib/pg_export/listeners/plain/close_connection.rb
231
- - lib/pg_export/lib/pg_export/listeners/plain/decrypt_dump.rb
232
- - lib/pg_export/lib/pg_export/listeners/plain/download_dump.rb
233
- - lib/pg_export/lib/pg_export/listeners/plain/encrypt_dump.rb
234
- - lib/pg_export/lib/pg_export/listeners/plain/fetch_dumps.rb
235
- - lib/pg_export/lib/pg_export/listeners/plain/open_connection.rb
236
- - lib/pg_export/lib/pg_export/listeners/plain/prepare_params.rb
237
- - lib/pg_export/lib/pg_export/listeners/plain/remove_old_dumps.rb
238
- - lib/pg_export/lib/pg_export/listeners/plain/restore.rb
239
- - lib/pg_export/lib/pg_export/listeners/plain/upload_dump.rb
240
- - lib/pg_export/lib/pg_export/listeners/plain_listener.rb
241
- - lib/pg_export/lib/pg_export/operations/decrypt_dump.rb
242
- - lib/pg_export/lib/pg_export/operations/encrypt_dump.rb
243
- - lib/pg_export/lib/pg_export/operations/open_connection.rb
244
- - lib/pg_export/lib/pg_export/operations/remove_old_dumps.rb
245
- - lib/pg_export/lib/pg_export/repositories/gateway_dump_file_repository.rb
246
- - lib/pg_export/lib/pg_export/repositories/gateway_dump_repository.rb
247
- - lib/pg_export/lib/pg_export/transactions/evaluator.rb
248
- - lib/pg_export/lib/pg_export/transactions/export_dump.rb
249
- - lib/pg_export/lib/pg_export/transactions/import_dump_interactively.rb
250
- - lib/pg_export/lib/pg_export/ui/interactive/input.rb
251
- - lib/pg_export/lib/pg_export/ui/plain/input.rb
252
- - lib/pg_export/lib/pg_export/value_objects/dump_file.rb
253
- - lib/pg_export/lib/pg_export/value_objects/result.rb
209
+ - lib/pg_export/configuration_parser.rb
210
+ - lib/pg_export/entities/dump.rb
211
+ - lib/pg_export/factories/cipher_factory.rb
212
+ - lib/pg_export/factories/dump_factory.rb
213
+ - lib/pg_export/factories/ftp_gateway_factory.rb
214
+ - lib/pg_export/factories/gateway_dump_file_factory.rb
215
+ - lib/pg_export/factories/ssh_gateway_factory.rb
216
+ - lib/pg_export/gateways/ftp.rb
217
+ - lib/pg_export/gateways/ssh.rb
218
+ - lib/pg_export/listeners/interactive/build_dump.rb
219
+ - lib/pg_export/listeners/interactive/close_connection.rb
220
+ - lib/pg_export/listeners/interactive/decrypt_dump.rb
221
+ - lib/pg_export/listeners/interactive/download_dump.rb
222
+ - lib/pg_export/listeners/interactive/encrypt_dump.rb
223
+ - lib/pg_export/listeners/interactive/fetch_dumps.rb
224
+ - lib/pg_export/listeners/interactive/open_connection.rb
225
+ - lib/pg_export/listeners/interactive/remove_old_dumps.rb
226
+ - lib/pg_export/listeners/interactive/restore.rb
227
+ - lib/pg_export/listeners/interactive/select_database.rb
228
+ - lib/pg_export/listeners/interactive/select_dump.rb
229
+ - lib/pg_export/listeners/interactive/upload_dump.rb
230
+ - lib/pg_export/listeners/interactive_listener.rb
231
+ - lib/pg_export/listeners/plain/build_dump.rb
232
+ - lib/pg_export/listeners/plain/close_connection.rb
233
+ - lib/pg_export/listeners/plain/decrypt_dump.rb
234
+ - lib/pg_export/listeners/plain/download_dump.rb
235
+ - lib/pg_export/listeners/plain/encrypt_dump.rb
236
+ - lib/pg_export/listeners/plain/fetch_dumps.rb
237
+ - lib/pg_export/listeners/plain/open_connection.rb
238
+ - lib/pg_export/listeners/plain/prepare_params.rb
239
+ - lib/pg_export/listeners/plain/remove_old_dumps.rb
240
+ - lib/pg_export/listeners/plain/restore.rb
241
+ - lib/pg_export/listeners/plain/upload_dump.rb
242
+ - lib/pg_export/listeners/plain_listener.rb
243
+ - lib/pg_export/operations/decrypt_dump.rb
244
+ - lib/pg_export/operations/encrypt_dump.rb
245
+ - lib/pg_export/operations/open_connection.rb
246
+ - lib/pg_export/operations/remove_old_dumps.rb
247
+ - lib/pg_export/repositories/gateway_dump_repository.rb
248
+ - lib/pg_export/transactions/evaluator.rb
249
+ - lib/pg_export/transactions/export_dump.rb
250
+ - lib/pg_export/transactions/import_dump_interactively.rb
251
+ - lib/pg_export/ui/interactive/input.rb
252
+ - lib/pg_export/ui/plain/input.rb
253
+ - lib/pg_export/value_objects/dump_file.rb
254
+ - lib/pg_export/value_objects/result.rb
254
255
  - lib/pg_export/version.rb
255
256
  - pg_export.gemspec
256
257
  homepage: https://github.com/maicher/pg_export