pg_export 0.7.2 → 0.7.7

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 88abb5cb79d5009b4742cceb392a94ca858de65a2b7facf387884e5bb690eb59
4
- data.tar.gz: fd2ee2742374eb0224c2c2a70de40b04bf504c65aa766f9b65cabb01fca738a2
3
+ metadata.gz: eb53d0f011376ea9e5aa335950e88d42a658109c674d5c8c274523515bb07774
4
+ data.tar.gz: b97c9d38adc50f6dba5bb41a0146fa40548277459725cf07045485b6c4d55a6b
5
5
  SHA512:
6
- metadata.gz: 6feab2892af772029554639588d077c5dba10c63228bded95642328de820dce4f292cfa7e230558ce6097011b25eb2133d39c12bc559b1dac4bdb6a887fcbd5f
7
- data.tar.gz: 1386af9f7f0f9d71bfe9247ef938727da5088e9144cf58bad30da6d15890f29029b402fc0732c0ab0f1e4b207e96c8549843b3ba0ba546b76da7e9ab2690d239
6
+ metadata.gz: 5d732adabd60d8b71fa56f81a87cc2d5f49a3e01e80ac11cd22000941fb994c1a27705c3dbf375a0a2ccd41a28070d4d8061ada78494806b228f268779993101
7
+ data.tar.gz: c4a7d99c20eb88534eb6adda2080d200de4725bf1d7fc3cfb3781c4ffa17ace711434bac75f0469e50e0c482d3f751f2b2f02f15d1eff7bb3c498c7e7fc3b088
@@ -1,3 +1,11 @@
1
+ ### 0.7.7 - 2020.09.07
2
+
3
+ - Upgrade dry-initializer
4
+
5
+ ### 0.7.6 - 2020.09.05
6
+
7
+ - Upgrade dry-types, dry-struct dry-system
8
+
1
9
  ### 0.7.0 - 2018.10.18
2
10
 
3
11
  - Change required ruby version from 2.2.0 to 2.3.0.
@@ -5,7 +5,7 @@ require 'dry-struct'
5
5
 
6
6
  class PgExport
7
7
  class Configuration < Dry::Struct
8
- include Dry::Types.module
8
+ include Dry::Types()
9
9
 
10
10
  attribute :dump_encryption_key, Strict::String.constrained(size: 16)
11
11
  attribute :ftp_host, Strict::String
@@ -32,8 +32,8 @@ class PgExport
32
32
  .reverse
33
33
  end
34
34
 
35
- def delete(filename)
36
- ftp.delete(filename)
35
+ def delete(name)
36
+ ftp.delete(name)
37
37
  end
38
38
 
39
39
  def persist(file, name)
@@ -10,9 +10,13 @@ class PgExport
10
10
  include Import['repositories.ftp_dump_repository', 'config']
11
11
 
12
12
  def call(dump:, ftp_adapter:)
13
- dumps = ftp_adapter.list(dump.database + '_*').drop(config.keep_dumps)
14
- dumps.each do |filename|
15
- ftp_adapter.delete(filename)
13
+ dumps = ftp_dump_repository.by_database_name(
14
+ database_name: dump.database,
15
+ ftp_adapter: ftp_adapter,
16
+ offset: config.keep_dumps
17
+ )
18
+ dumps.each do |d|
19
+ ftp_adapter.delete(d.name)
16
20
  end
17
21
 
18
22
  Success(removed_dumps: dumps, ftp_adapter: ftp_adapter)
@@ -18,6 +18,16 @@ class PgExport
18
18
  end.compact
19
19
  end
20
20
 
21
+ def by_database_name(database_name:, ftp_adapter:, offset:)
22
+ ftp_adapter.list(database_name + '_*').drop(offset).map do |name:, size:|
23
+ begin
24
+ dump(name, database_name, size)
25
+ rescue Dry::Types::ConstraintError
26
+ nil
27
+ end
28
+ end.compact
29
+ end
30
+
21
31
  private
22
32
 
23
33
  FilePlaceholder = Struct.new(:size)
@@ -5,7 +5,7 @@ require 'pg_export/lib/pg_export/value_objects/dump_file'
5
5
 
6
6
  class PgExport
7
7
  module Types
8
- include Dry::Types.module
8
+ include Dry::Types()
9
9
 
10
10
  DumpName = Strict::String.constrained(format: /.+_20[0-9]{6}_[0-9]{6}\Z/)
11
11
  DumpType = Types::Coercible::String.enum('plain', 'encrypted')
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class PgExport
4
- VERSION = '0.7.2'
4
+ VERSION = '0.7.7'
5
5
  end
@@ -21,13 +21,15 @@ Gem::Specification.new do |spec|
21
21
  spec.require_paths = ['lib']
22
22
  spec.required_ruby_version = '>= 2.3.0'
23
23
 
24
- spec.add_dependency 'dry-initializer', '~> 2.5.0'
25
- spec.add_dependency 'dry-system', '~> 0.10.0'
26
- spec.add_dependency 'dry-transaction', '~> 0.13.0'
24
+ spec.add_dependency 'dry-initializer', '~> 3.0'
25
+ spec.add_dependency 'dry-types', '~> 1.0'
26
+ spec.add_dependency 'dry-struct', '~> 1.0'
27
+ spec.add_dependency 'dry-system', '~> 0.18'
28
+ spec.add_dependency 'dry-transaction', '~> 0.13'
27
29
  spec.add_dependency 'tty-prompt'
28
30
  spec.add_dependency 'tty-spinner'
29
31
 
30
- spec.add_development_dependency 'bundler', '~> 1.16'
32
+ spec.add_development_dependency 'bundler', '~> 2.1'
31
33
  spec.add_development_dependency 'pg', '~> 0.21'
32
34
  spec.add_development_dependency 'pry'
33
35
  spec.add_development_dependency 'rake', '~> 10.0'
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: 0.7.2
4
+ version: 0.7.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Krzysztof Maicher
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-18 00:00:00.000000000 Z
11
+ date: 2020-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-initializer
@@ -16,42 +16,70 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.5.0
19
+ version: '3.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.5.0
26
+ version: '3.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: dry-types
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: dry-struct
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.0'
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: dry-system
29
57
  requirement: !ruby/object:Gem::Requirement
30
58
  requirements:
31
59
  - - "~>"
32
60
  - !ruby/object:Gem::Version
33
- version: 0.10.0
61
+ version: '0.18'
34
62
  type: :runtime
35
63
  prerelease: false
36
64
  version_requirements: !ruby/object:Gem::Requirement
37
65
  requirements:
38
66
  - - "~>"
39
67
  - !ruby/object:Gem::Version
40
- version: 0.10.0
68
+ version: '0.18'
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: dry-transaction
43
71
  requirement: !ruby/object:Gem::Requirement
44
72
  requirements:
45
73
  - - "~>"
46
74
  - !ruby/object:Gem::Version
47
- version: 0.13.0
75
+ version: '0.13'
48
76
  type: :runtime
49
77
  prerelease: false
50
78
  version_requirements: !ruby/object:Gem::Requirement
51
79
  requirements:
52
80
  - - "~>"
53
81
  - !ruby/object:Gem::Version
54
- version: 0.13.0
82
+ version: '0.13'
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: tty-prompt
57
85
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +114,14 @@ dependencies:
86
114
  requirements:
87
115
  - - "~>"
88
116
  - !ruby/object:Gem::Version
89
- version: '1.16'
117
+ version: '2.1'
90
118
  type: :development
91
119
  prerelease: false
92
120
  version_requirements: !ruby/object:Gem::Requirement
93
121
  requirements:
94
122
  - - "~>"
95
123
  - !ruby/object:Gem::Version
96
- version: '1.16'
124
+ version: '2.1'
97
125
  - !ruby/object:Gem::Dependency
98
126
  name: pg
99
127
  requirement: !ruby/object:Gem::Requirement
@@ -258,8 +286,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
258
286
  - !ruby/object:Gem::Version
259
287
  version: '0'
260
288
  requirements: []
261
- rubyforge_project:
262
- rubygems_version: 2.7.3
289
+ rubygems_version: 3.1.2
263
290
  signing_key:
264
291
  specification_version: 4
265
292
  summary: CLI for creating and exporting PostgreSQL dumps to FTP.