pgtk 0.9.3 → 0.9.5

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: d578c53a29f6742eab6b147fa8f07297a8e0c21e811626dc119d5d4b857894db
4
- data.tar.gz: b0c0136d3f3b450e4335915440cbf845ed0e546ff9dde85dd5e5d7c8bf1030b2
3
+ metadata.gz: 5d35e5ae3f5de85754809d4974144b196f8e8b98652cf7bbce38885340175c52
4
+ data.tar.gz: 02d59f55f079edeace7d58e042eaba5b70dd77ce8b4dff683207a60fd31d34d1
5
5
  SHA512:
6
- metadata.gz: 5d749193d88fbad98e34923f113fe134fd94d645c8f879ede517d90d3cdec2c173d69b2edd6566169d82caa76cb6392a58204367c900ad877df744bcde2bdf78
7
- data.tar.gz: 71ea0f4ebb992b5e828fdb7133602f42069baeb7fb9a9b2b76691393480d237bf89a754a8a79d389475edbf1001478171339b3ba8d8e56a5cfd472cd4a74dbbf
6
+ metadata.gz: 1fee465624b270b7bea960ff58fcae13c2f2e7041dc673f0c65c4567522946d02793d6116e670c539bbada4f7850221db5de33254cb5a57cf9d0ebd3a71aa16d
7
+ data.tar.gz: 315737e93159c35b0084050a92d5cef2c611ea5e323c41bff2b9cc9d0fa334d3593bc4091f79545a24200214983db54bdd19a10c37c4d8cb61f1ba58f9dc5b65
data/.0pdd.yml CHANGED
@@ -12,7 +12,7 @@
12
12
  #
13
13
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
14
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
16
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
17
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
18
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
@@ -12,7 +12,7 @@
12
12
  #
13
13
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
14
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
16
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
17
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
18
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
@@ -12,7 +12,7 @@
12
12
  #
13
13
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
14
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
16
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
17
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
18
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
@@ -0,0 +1,30 @@
1
+ # Copyright (c) 2019-2024 Yegor Bugayenko
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ # of this software and associated documentation files (the 'Software'), to deal
5
+ # in the Software without restriction, including without limitation the rights
6
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ # copies of the Software, and to permit persons to whom the Software is
8
+ # furnished to do so, subject to the following conditions:
9
+ #
10
+ # The above copyright notice and this permission notice shall be included in all
11
+ # copies or substantial portions of the Software.
12
+ #
13
+ # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ # SOFTWARE.
20
+ ---
21
+ name: copyrights
22
+ 'on':
23
+ push:
24
+ pull_request:
25
+ jobs:
26
+ copyrights:
27
+ runs-on: ubuntu-22.04
28
+ steps:
29
+ - uses: actions/checkout@v4
30
+ - uses: yegor256/copyrights-action@0.0.4
@@ -12,7 +12,7 @@
12
12
  #
13
13
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
14
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
16
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
17
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
18
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
@@ -12,7 +12,7 @@
12
12
  #
13
13
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
14
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
16
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
17
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
18
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
@@ -12,7 +12,7 @@
12
12
  #
13
13
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
14
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
16
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
17
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
18
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
@@ -12,7 +12,7 @@
12
12
  #
13
13
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
14
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
16
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
17
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
18
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
@@ -12,7 +12,7 @@
12
12
  #
13
13
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
14
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
16
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
17
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
18
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
@@ -12,7 +12,7 @@
12
12
  #
13
13
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
14
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
16
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
17
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
18
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
data/.rubocop.yml CHANGED
@@ -12,7 +12,7 @@
12
12
  #
13
13
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
14
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
16
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
17
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
18
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
@@ -41,7 +41,7 @@ Metrics/AbcSize:
41
41
  Metrics/CyclomaticComplexity:
42
42
  Max: 15
43
43
  Metrics/ClassLength:
44
- Max: 120
44
+ Max: 150
45
45
  Metrics/MethodLength:
46
46
  Max: 100
47
47
  Metrics/PerceivedComplexity:
data/.rultor.yml CHANGED
@@ -12,7 +12,7 @@
12
12
  #
13
13
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
14
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
16
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
17
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
18
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
data/.simplecov CHANGED
@@ -14,7 +14,7 @@
14
14
  #
15
15
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
16
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
data/.yamllint.yml CHANGED
@@ -12,7 +12,7 @@
12
12
  #
13
13
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
14
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
16
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
17
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
18
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
data/Gemfile CHANGED
@@ -23,11 +23,11 @@
23
23
  source 'https://rubygems.org'
24
24
  gemspec
25
25
 
26
- gem 'minitest', '5.23.1', require: false
27
- gem 'rack', '3.0.11', require: false
26
+ gem 'minitest', '5.24.1', require: false
27
+ gem 'rack', '3.1.7', require: false
28
28
  gem 'rake', '13.2.1', require: false
29
- gem 'rspec-rails', '6.1.2', require: false
30
- gem 'rubocop', '1.64.0', require: false
31
- gem 'rubocop-rspec', '2.29.2', require: false
29
+ gem 'rspec-rails', '6.1.3', require: false
30
+ gem 'rubocop', '1.65.0', require: false
31
+ gem 'rubocop-rspec', '3.0.2', require: false
32
32
  gem 'simplecov', '0.22.0', require: false
33
33
  gem 'xcop', '0.7.1', require: false
data/Gemfile.lock CHANGED
@@ -10,9 +10,9 @@ PATH
10
10
  GEM
11
11
  remote: https://rubygems.org/
12
12
  specs:
13
- actionpack (7.1.3.3)
14
- actionview (= 7.1.3.3)
15
- activesupport (= 7.1.3.3)
13
+ actionpack (7.1.3.4)
14
+ actionview (= 7.1.3.4)
15
+ activesupport (= 7.1.3.4)
16
16
  nokogiri (>= 1.8.5)
17
17
  racc
18
18
  rack (>= 2.2.4)
@@ -20,13 +20,13 @@ GEM
20
20
  rack-test (>= 0.6.3)
21
21
  rails-dom-testing (~> 2.2)
22
22
  rails-html-sanitizer (~> 1.6)
23
- actionview (7.1.3.3)
24
- activesupport (= 7.1.3.3)
23
+ actionview (7.1.3.4)
24
+ activesupport (= 7.1.3.4)
25
25
  builder (~> 3.1)
26
26
  erubi (~> 1.11)
27
27
  rails-dom-testing (~> 2.2)
28
28
  rails-html-sanitizer (~> 1.6)
29
- activesupport (7.1.3.3)
29
+ activesupport (7.1.3.4)
30
30
  base64
31
31
  bigdecimal
32
32
  concurrent-ruby (~> 1.0, >= 1.0.2)
@@ -40,19 +40,19 @@ GEM
40
40
  backtrace (0.4.0)
41
41
  base64 (0.2.0)
42
42
  bigdecimal (3.1.8)
43
- builder (3.2.4)
44
- concurrent-ruby (1.2.3)
43
+ builder (3.3.0)
44
+ concurrent-ruby (1.3.3)
45
45
  connection_pool (2.4.1)
46
46
  crass (1.0.6)
47
47
  diff-lcs (1.5.1)
48
48
  differ (0.1.2)
49
49
  docile (1.4.0)
50
50
  drb (2.2.1)
51
- erubi (1.12.0)
51
+ erubi (1.13.0)
52
52
  i18n (1.14.5)
53
53
  concurrent-ruby (~> 1.0)
54
54
  io-console (0.7.2)
55
- irb (1.13.1)
55
+ irb (1.14.0)
56
56
  rdoc (>= 4.0.0)
57
57
  reline (>= 0.4.2)
58
58
  json (2.7.2)
@@ -60,22 +60,22 @@ GEM
60
60
  loofah (2.22.0)
61
61
  crass (~> 1.0.2)
62
62
  nokogiri (>= 1.12.0)
63
- loog (0.5.1)
64
- minitest (5.23.1)
63
+ loog (0.5.2)
64
+ minitest (5.24.1)
65
65
  mutex_m (0.2.0)
66
- nokogiri (1.16.5-arm64-darwin)
66
+ nokogiri (1.16.6-arm64-darwin)
67
67
  racc (~> 1.4)
68
- nokogiri (1.16.5-x86_64-linux)
68
+ nokogiri (1.16.6-x86_64-linux)
69
69
  racc (~> 1.4)
70
- parallel (1.24.0)
71
- parser (3.3.1.0)
70
+ parallel (1.25.1)
71
+ parser (3.3.4.0)
72
72
  ast (~> 2.4.1)
73
73
  racc
74
74
  pg (1.5.6)
75
75
  psych (5.1.2)
76
76
  stringio
77
77
  racc (1.8.0)
78
- rack (3.0.11)
78
+ rack (3.1.7)
79
79
  rack-session (2.0.0)
80
80
  rack (>= 3.0.0)
81
81
  rack-test (2.1.0)
@@ -90,9 +90,9 @@ GEM
90
90
  rails-html-sanitizer (1.6.0)
91
91
  loofah (~> 2.21)
92
92
  nokogiri (~> 1.14)
93
- railties (7.1.3.3)
94
- actionpack (= 7.1.3.3)
95
- activesupport (= 7.1.3.3)
93
+ railties (7.1.3.4)
94
+ actionpack (= 7.1.3.4)
95
+ activesupport (= 7.1.3.4)
96
96
  irb
97
97
  rackup (>= 1.0.0)
98
98
  rake (>= 12.2)
@@ -100,23 +100,23 @@ GEM
100
100
  zeitwerk (~> 2.6)
101
101
  rainbow (3.1.1)
102
102
  rake (13.2.1)
103
- random-port (0.6.0)
103
+ random-port (0.7.0)
104
104
  rdoc (6.7.0)
105
105
  psych (>= 4.0.0)
106
106
  regexp_parser (2.9.2)
107
- reline (0.5.7)
107
+ reline (0.5.9)
108
108
  io-console (~> 0.5)
109
- rexml (3.2.8)
110
- strscan (>= 3.0.9)
109
+ rexml (3.3.1)
110
+ strscan
111
111
  rspec-core (3.13.0)
112
112
  rspec-support (~> 3.13.0)
113
- rspec-expectations (3.13.0)
113
+ rspec-expectations (3.13.1)
114
114
  diff-lcs (>= 1.2.0, < 2.0)
115
115
  rspec-support (~> 3.13.0)
116
116
  rspec-mocks (3.13.1)
117
117
  diff-lcs (>= 1.2.0, < 2.0)
118
118
  rspec-support (~> 3.13.0)
119
- rspec-rails (6.1.2)
119
+ rspec-rails (6.1.3)
120
120
  actionpack (>= 6.1)
121
121
  activesupport (>= 6.1)
122
122
  railties (>= 6.1)
@@ -125,30 +125,21 @@ GEM
125
125
  rspec-mocks (~> 3.13)
126
126
  rspec-support (~> 3.13)
127
127
  rspec-support (3.13.1)
128
- rubocop (1.64.0)
128
+ rubocop (1.65.0)
129
129
  json (~> 2.3)
130
130
  language_server-protocol (>= 3.17.0)
131
131
  parallel (~> 1.10)
132
132
  parser (>= 3.3.0.2)
133
133
  rainbow (>= 2.2.2, < 4.0)
134
- regexp_parser (>= 1.8, < 3.0)
134
+ regexp_parser (>= 2.4, < 3.0)
135
135
  rexml (>= 3.2.5, < 4.0)
136
136
  rubocop-ast (>= 1.31.1, < 2.0)
137
137
  ruby-progressbar (~> 1.7)
138
138
  unicode-display_width (>= 2.4.0, < 3.0)
139
139
  rubocop-ast (1.31.3)
140
140
  parser (>= 3.3.1.0)
141
- rubocop-capybara (2.20.0)
142
- rubocop (~> 1.41)
143
- rubocop-factory_bot (2.25.1)
144
- rubocop (~> 1.41)
145
- rubocop-rspec (2.29.2)
146
- rubocop (~> 1.40)
147
- rubocop-capybara (~> 2.17)
148
- rubocop-factory_bot (~> 2.22)
149
- rubocop-rspec_rails (~> 2.28)
150
- rubocop-rspec_rails (2.28.3)
151
- rubocop (~> 1.40)
141
+ rubocop-rspec (3.0.2)
142
+ rubocop (~> 1.61)
152
143
  ruby-progressbar (1.13.0)
153
144
  simplecov (0.22.0)
154
145
  docile (~> 1.1)
@@ -157,7 +148,7 @@ GEM
157
148
  simplecov-html (0.12.3)
158
149
  simplecov_json_formatter (0.1.4)
159
150
  slop (4.10.1)
160
- stringio (3.1.0)
151
+ stringio (3.1.1)
161
152
  strscan (3.1.0)
162
153
  thor (1.3.1)
163
154
  tzinfo (2.0.6)
@@ -169,20 +160,20 @@ GEM
169
160
  nokogiri (~> 1.10)
170
161
  rainbow (~> 3.0)
171
162
  slop (~> 4.4)
172
- zeitwerk (2.6.14)
163
+ zeitwerk (2.6.16)
173
164
 
174
165
  PLATFORMS
175
166
  arm64-darwin-22
176
167
  x86_64-linux
177
168
 
178
169
  DEPENDENCIES
179
- minitest (= 5.23.1)
170
+ minitest (= 5.24.1)
180
171
  pgtk!
181
- rack (= 3.0.11)
172
+ rack (= 3.1.7)
182
173
  rake (= 13.2.1)
183
- rspec-rails (= 6.1.2)
184
- rubocop (= 1.64.0)
185
- rubocop-rspec (= 2.29.2)
174
+ rspec-rails (= 6.1.3)
175
+ rubocop (= 1.65.0)
176
+ rubocop-rspec (= 3.0.2)
186
177
  simplecov (= 0.22.0)
187
178
  xcop (= 0.7.1)
188
179
 
data/cucumber.yml CHANGED
@@ -12,7 +12,7 @@
12
12
  #
13
13
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
14
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
16
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
17
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
18
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
@@ -14,7 +14,7 @@
14
14
  #
15
15
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
16
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
@@ -14,7 +14,7 @@
14
14
  #
15
15
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
16
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
data/lib/pgtk/pool.rb CHANGED
@@ -14,7 +14,7 @@
14
14
  #
15
15
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
16
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
@@ -123,7 +123,15 @@ class Pgtk::Pool
123
123
  def transaction
124
124
  connect do |c|
125
125
  t = Txn.new(c, @log)
126
- yield t
126
+ t.exec('START TRANSACTION')
127
+ begin
128
+ r = yield t
129
+ t.exec('COMMIT')
130
+ r
131
+ rescue StandardError => e
132
+ t.exec('ROLLBACK')
133
+ raise e
134
+ end
127
135
  end
128
136
  end
129
137
 
data/lib/pgtk/version.rb CHANGED
@@ -14,7 +14,7 @@
14
14
  #
15
15
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
16
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
@@ -28,5 +28,5 @@ require_relative '../pgtk'
28
28
  # License:: MIT
29
29
  module Pgtk
30
30
  # Current version of the library.
31
- VERSION = '0.9.3'
31
+ VERSION = '0.9.5'
32
32
  end
data/lib/pgtk/wire.rb CHANGED
@@ -14,7 +14,7 @@
14
14
  #
15
15
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
16
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
data/lib/pgtk.rb CHANGED
@@ -14,7 +14,7 @@
14
14
  #
15
15
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
16
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
data/pgtk.gemspec CHANGED
@@ -42,9 +42,9 @@ connection pool and query processor, to make SQL manipulation simpler.'
42
42
  s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
43
43
  s.rdoc_options = ['--charset=UTF-8']
44
44
  s.extra_rdoc_files = ['README.md', 'LICENSE.txt']
45
- s.add_runtime_dependency 'backtrace', '~> 0.3'
46
- s.add_runtime_dependency 'loog', '~> 0.2'
47
- s.add_runtime_dependency 'pg', '~> 1.1'
48
- s.add_runtime_dependency 'random-port', '~> 0.3'
45
+ s.add_dependency 'backtrace', '~> 0.3'
46
+ s.add_dependency 'loog', '~> 0.2'
47
+ s.add_dependency 'pg', '~> 1.1'
48
+ s.add_dependency 'random-port', '~> 0.3'
49
49
  s.metadata['rubygems_mfa_required'] = 'true'
50
50
  end
data/test/test__helper.rb CHANGED
@@ -14,7 +14,7 @@
14
14
  #
15
15
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
16
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
@@ -14,7 +14,7 @@
14
14
  #
15
15
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
16
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
@@ -14,7 +14,7 @@
14
14
  #
15
15
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
16
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
data/test/test_pool.rb CHANGED
@@ -14,7 +14,7 @@
14
14
  #
15
15
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
16
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
@@ -90,6 +90,22 @@ class TestPool < Minitest::Test
90
90
  end
91
91
  end
92
92
 
93
+ def test_transaction_with_error
94
+ bootstrap do |pool|
95
+ pool.exec('DELETE FROM book')
96
+ assert(pool.exec('SELECT * FROM book').empty?)
97
+ assert_raises do
98
+ pool.transaction do |t|
99
+ t.exec('INSERT INTO book (title) VALUES ($1)', ['hey'])
100
+ t.exec('INSERT INTO book (error_here) VALUES ($1)', ['hey'])
101
+ end
102
+ end
103
+ assert(pool.exec('SELECT * FROM book').empty?)
104
+ pool.exec('INSERT INTO book (title) VALUES ($1)', ['another'])
105
+ assert(!pool.exec('SELECT * FROM book').empty?)
106
+ end
107
+ end
108
+
93
109
  def test_reconnects_on_pg_error
94
110
  bootstrap do |pool|
95
111
  assert_raises PG::UndefinedTable do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pgtk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.3
4
+ version: 0.9.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-05-24 00:00:00.000000000 Z
11
+ date: 2024-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: backtrace
@@ -81,6 +81,7 @@ files:
81
81
  - ".gitattributes"
82
82
  - ".github/workflows/actionlint.yml"
83
83
  - ".github/workflows/codecov.yml"
84
+ - ".github/workflows/copyrights.yml"
84
85
  - ".github/workflows/license.yml"
85
86
  - ".github/workflows/markdown-lint.yml"
86
87
  - ".github/workflows/pdd.yml"