pg_export 0.7.2 → 0.7.7

Sign up to get free protection for your applications and to get access to all the features.
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.