activerecord-transactionable 3.0.1 → 3.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # External gems
4
+ require "version_gem"
3
5
  require "active_model"
4
6
  require "active_record"
5
- # apparently needed for Rails 4.0 compatibility with rspec, when
6
- # this gem is loaded before the rails gem by bundler, as will happen when you
7
- # keep your Gemfile sorted alphabetically.
8
7
  require "active_record/validations"
9
8
 
9
+ # This gem
10
10
  require "activerecord/transactionable/version"
11
11
  require "activerecord/transactionable/result"
12
12
 
@@ -28,7 +28,7 @@ module Activerecord
28
28
  ERRORS_TO_DISALLOW_INSIDE_TRANSACTION = [
29
29
  ActiveRecord::RecordInvalid,
30
30
  ActiveRecord::StatementInvalid,
31
- ActiveRecord::RecordNotUnique
31
+ ActiveRecord::RecordNotUnique,
32
32
  ].freeze
33
33
  # http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/DatabaseStatements.html#method-i-transaction
34
34
  TRANSACTION_METHOD_ARG_NAMES = %i[
@@ -54,10 +54,6 @@ module Activerecord
54
54
  INSIDE_CONTEXT = "inside"
55
55
  OUTSIDE_CONTEXT = "outside"
56
56
 
57
- def transaction_wrapper(**args, &block)
58
- self.class.transaction_wrapper(object: self, **args, &block)
59
- end
60
-
61
57
  module ClassMethods
62
58
  def transaction_wrapper(object: nil, **args)
63
59
  lock = args.delete(:lock)
@@ -67,13 +63,13 @@ module Activerecord
67
63
  transaction_open = ActiveRecord::Base.connection.transaction_open?
68
64
  unless args.keys.empty?
69
65
  raise ArgumentError,
70
- "#{self} does not know how to handle arguments: #{args.keys.inspect}"
66
+ "#{self} does not know how to handle arguments: #{args.keys.inspect}"
71
67
  end
72
68
  if ERRORS_TO_DISALLOW_INSIDE_TRANSACTION.detect do |error|
73
- inside_args.values.flatten.uniq.include?(error)
74
- end
69
+ inside_args.values.flatten.uniq.include?(error)
70
+ end
75
71
  raise ArgumentError,
76
- "#{self} should not rescue #{ERRORS_TO_DISALLOW_INSIDE_TRANSACTION.inspect} inside a transaction: #{inside_args.keys.inspect}"
72
+ "#{self} should not rescue #{ERRORS_TO_DISALLOW_INSIDE_TRANSACTION.inspect} inside a transaction: #{inside_args.keys.inspect}"
77
73
  end
78
74
 
79
75
  if transaction_open
@@ -84,10 +80,18 @@ module Activerecord
84
80
  logger.warn("[#{self}.transaction_wrapper] Opening a nested transaction. Setting #{REQUIRES_NEW}: true")
85
81
  end
86
82
  end
87
- error_handler_outside_transaction(object: object, transaction_open: transaction_open,
88
- **outside_args) do |outside_is_retry|
89
- run_inside_transaction_block(transaction_args: transaction_args, inside_args: inside_args, lock: lock,
90
- transaction_open: transaction_open, object: object) do |is_retry|
83
+ error_handler_outside_transaction(
84
+ object: object,
85
+ transaction_open: transaction_open,
86
+ **outside_args,
87
+ ) do |outside_is_retry|
88
+ run_inside_transaction_block(
89
+ transaction_args: transaction_args,
90
+ inside_args: inside_args,
91
+ lock: lock,
92
+ transaction_open: transaction_open,
93
+ object: object,
94
+ ) do |is_retry|
91
95
  # regardless of the retry being inside or outside the transaction, it is still a retry.
92
96
  yield outside_is_retry || is_retry
93
97
  end
@@ -102,13 +106,17 @@ module Activerecord
102
106
  # NOTE: with_lock will reload object!
103
107
  # Note: with_lock does not accept arguments like transaction does.
104
108
  object.with_lock do
105
- error_handler_inside_transaction(object: object, transaction_open: transaction_open, **inside_args,
106
- &block)
109
+ error_handler_inside_transaction(
110
+ object: object, transaction_open: transaction_open, **inside_args,
111
+ &block
112
+ )
107
113
  end
108
114
  else
109
115
  object.transaction(**transaction_args) do
110
- error_handler_inside_transaction(object: object, transaction_open: transaction_open, **inside_args,
111
- &block)
116
+ error_handler_inside_transaction(
117
+ object: object, transaction_open: transaction_open, **inside_args,
118
+ &block
119
+ )
112
120
  end
113
121
  end
114
122
  else
@@ -139,8 +147,17 @@ module Activerecord
139
147
  prepared_errors.include?(error_class)
140
148
  end
141
149
  local_context = INSIDE_CONTEXT
142
- run_block_with_retry(object, local_context, transaction_open, retriable_errors, reraisable_errors,
143
- already_been_added_to_self, needing_added_to_self, num_retry_attempts, &block)
150
+ run_block_with_retry(
151
+ object,
152
+ local_context,
153
+ transaction_open,
154
+ retriable_errors,
155
+ reraisable_errors,
156
+ already_been_added_to_self,
157
+ needing_added_to_self,
158
+ num_retry_attempts,
159
+ &block
160
+ )
144
161
  end
145
162
 
146
163
  def error_handler_outside_transaction(transaction_open:, object: nil, **args, &block)
@@ -155,8 +172,17 @@ module Activerecord
155
172
  prepared_errors.include?(error_class)
156
173
  end
157
174
  local_context = OUTSIDE_CONTEXT
158
- run_block_with_retry(object, local_context, transaction_open, retriable_errors, reraisable_errors,
159
- already_been_added_to_self, needing_added_to_self, num_retry_attempts, &block)
175
+ run_block_with_retry(
176
+ object,
177
+ local_context,
178
+ transaction_open,
179
+ retriable_errors,
180
+ reraisable_errors,
181
+ already_been_added_to_self,
182
+ needing_added_to_self,
183
+ num_retry_attempts,
184
+ &block
185
+ )
160
186
  end
161
187
 
162
188
  def run_block_with_retry(object, local_context, transaction_open, retriable_errors, reraisable_errors, already_been_added_to_self, needing_added_to_self, num_retry_attempts)
@@ -173,7 +199,7 @@ module Activerecord
173
199
  # We pass the retry state along to yield so that the code implementing
174
200
  # the transaction_wrapper can switch behavior on a retry
175
201
  # (e.g. create => find)
176
- result = yield (re_try == false ? re_try : attempt)
202
+ result = yield ((re_try == false) ? re_try : attempt)
177
203
  # When in the outside context we need to preserve the inside result so it bubbles up unmolested with the "meaningful" result of the transaction.
178
204
  if result.is_a?(Activerecord::Transactionable::Result)
179
205
  result # <= preserve the meaningful return value
@@ -185,8 +211,14 @@ module Activerecord
185
211
  # if that is in the intended behavior, and this way a specific child of StandardError can be reraised while
186
212
  # the parent can still be caught and added to self.errors
187
213
  # Also adds the error to the object if there is an object.
188
- transaction_error_logger(object: object, error: e, result: nil, attempt: attempt, add_to: nil,
189
- additional_message: " [#{transaction_open ? "nested " : ""}#{local_context} re-raising!]")
214
+ transaction_error_logger(
215
+ object: object,
216
+ error: e,
217
+ result: nil,
218
+ attempt: attempt,
219
+ add_to: nil,
220
+ additional_message: " [#{transaction_open ? "nested " : ""}#{local_context} re-raising!]",
221
+ )
190
222
  raise e
191
223
  rescue *retriable_errors => e
192
224
  # This will re-run the begin block above
@@ -194,27 +226,45 @@ module Activerecord
194
226
  # To avoid the infinite recursion, we track the retry state
195
227
  if attempt >= num_retry_attempts
196
228
  result = Activerecord::Transactionable::Result.new(false, context: local_context, transaction_open: transaction_open, error: e, attempt: attempt, type: "retriable") # <= make the return value meaningful. Meaning is: transaction failed after <attempt> attempts
197
- transaction_error_logger(object: object, error: e, result: result,
198
- additional_message: " [#{transaction_open ? "nested " : ""}#{local_context}]")
229
+ transaction_error_logger(
230
+ object: object,
231
+ error: e,
232
+ result: result,
233
+ additional_message: " [#{transaction_open ? "nested " : ""}#{local_context}]",
234
+ )
199
235
  result
200
236
  else
201
237
  re_try = true
202
238
  # Not adding error to base when retrying, because otherwise the added error may
203
239
  # prevent the subsequent save from working, in a catch-22
204
- transaction_error_logger(object: object, error: e, result: nil, attempt: attempt, add_to: nil,
205
- additional_message: " [#{transaction_open ? "nested " : ""}#{local_context}]")
240
+ transaction_error_logger(
241
+ object: object,
242
+ error: e,
243
+ result: nil,
244
+ attempt: attempt,
245
+ add_to: nil,
246
+ additional_message: " [#{transaction_open ? "nested " : ""}#{local_context}]",
247
+ )
206
248
  retry
207
249
  end
208
250
  rescue *already_been_added_to_self => e
209
251
  # ActiveRecord::RecordInvalid, when done correctly, will have already added the error to object.
210
252
  result = Activerecord::Transactionable::Result.new(false, context: local_context, transaction_open: transaction_open, error: e, attempt: attempt, type: "already_added") # <= make the return value meaningful. Meaning is: transaction failed
211
- transaction_error_logger(object: nil, error: e, result: result,
212
- additional_message: " [#{transaction_open ? "nested " : ""}#{local_context}]")
253
+ transaction_error_logger(
254
+ object: nil,
255
+ error: e,
256
+ result: result,
257
+ additional_message: " [#{transaction_open ? "nested " : ""}#{local_context}]",
258
+ )
213
259
  result
214
260
  rescue *needing_added_to_self => e
215
261
  result = Activerecord::Transactionable::Result.new(false, context: local_context, transaction_open: transaction_open, error: e, attempt: attempt, type: "needing_added") # <= make the return value meaningful. Meaning is: transaction failed
216
- transaction_error_logger(object: object, error: e, result: result,
217
- additional_message: " [#{transaction_open ? "nested " : ""}#{local_context}]")
262
+ transaction_error_logger(
263
+ object: object,
264
+ error: e,
265
+ result: result,
266
+ additional_message: " [#{transaction_open ? "nested " : ""}#{local_context}]",
267
+ )
218
268
  result
219
269
  end
220
270
  end
@@ -233,5 +283,13 @@ module Activerecord
233
283
  end
234
284
  end
235
285
  end
286
+
287
+ def transaction_wrapper(**args, &block)
288
+ self.class.transaction_wrapper(object: self, **args, &block)
289
+ end
236
290
  end
237
291
  end
292
+
293
+ Activerecord::Transactionable::Version.class_eval do
294
+ extend VersionGem::Basic
295
+ end
data.tar.gz.sig ADDED
Binary file
metadata CHANGED
@@ -1,14 +1,42 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-transactionable
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Boling
8
8
  autorequire:
9
9
  bindir: exe
10
- cert_chain: []
11
- date: 2021-11-10 00:00:00.000000000 Z
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIEgDCCAuigAwIBAgIBATANBgkqhkiG9w0BAQsFADBDMRUwEwYDVQQDDAxwZXRl
14
+ ci5ib2xpbmcxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkW
15
+ A2NvbTAeFw0yMzA5MjAxNzMwMjhaFw0yNDA5MTkxNzMwMjhaMEMxFTATBgNVBAMM
16
+ DHBldGVyLmJvbGluZzEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPy
17
+ LGQBGRYDY29tMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA+a9UvHo3
18
+ 84k96WgU5Kk5HB+cLZs/modjorsTfqY67MJF5nNvAoqcKTUBW4uG+Zpfnm3jaDO5
19
+ GxhJEIZWfndYzycHT2KMVQ1uTP82ba8ZaKrPlPIafkbui3mdds47qsmqHiblKERg
20
+ U532lkwfqHDlJwE7OBZQ59EwWWLynlT/yAUHpOBbqIuHKUxdpmBI+sIjrZcD1e05
21
+ WmjkO6fwIdC5oM757aoPxIgXD587VOViH11Vkm2doskj4T8yONtwVHlcrrhJ9Bzd
22
+ /zdp6vEn7GZQrABvpOlqwWxQ72ZnFhJe/RJZf6CXOPOh69Ai0QKYl2a1sYuCJKS3
23
+ nsBnxXJINEEznjR7rZjNUmYD+CZqfjzgPqedRxTlASe7iA4w7xZOqMDzcuhNwcUQ
24
+ tMEH6BTktxKP3jXZPXRfHCf6s+HRVb6vezAonTBVyydf5Xp5VwWkd6cwm+2BzHl5
25
+ 7kc/3lLxKMcsyEUprAsk8LdHohwZdC267l+RS++AP6Cz6x+nB3oGob19AgMBAAGj
26
+ fzB9MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBQCSSas60GqqMjt
27
+ xR7LoY1gucEvtzAhBgNVHREEGjAYgRZwZXRlci5ib2xpbmdAZ21haWwuY29tMCEG
28
+ A1UdEgQaMBiBFnBldGVyLmJvbGluZ0BnbWFpbC5jb20wDQYJKoZIhvcNAQELBQAD
29
+ ggGBAMl9ifcw5p+PdvB7dCPoNKoVdp/2LbC9ztETHuYL2gUMJB6UoS3o9c/piSuR
30
+ V3ZMQaijmNu6ms1bWAtJ66LjmYrVflJtf9yp31Kierr9LpisMSUx2qbMOHGa8d2Z
31
+ vCUWPF8E9Cg0mP3GAyZ6qql8jDh/anUKeksPXqJvNxNPDu2DVYsa/IWdl96whzS4
32
+ Bl7SwB1E7agps40UcshCSKaVDOU0M+XN6SrnJMElnBic+KSAkBkVFbzS0BE4ODZM
33
+ BgE6nYzQ05qhuvbE+oGdACTlemNtDDWCh0uw+7x0q2PocGIDU5zsPn/WNTkCXPmB
34
+ CHGvqDNWq4M7ncTKAaS2XExgyb7uPdq9fKiOW8nmH+zCiGzJXzBWwZlKf7L4Ht9E
35
+ a3f0e5C+zvee9Z5Ng9ciyfav9/fcXgYt5MjoBv27THr5XfBhgOCIHSYW2tqJmWKi
36
+ KuxrfYrN+9HvMdm+nZ6TypmKftHY3Gj+/uu+g8Icm/zrvTWAEE0mcJOkfrIoNPJb
37
+ pF8dMA==
38
+ -----END CERTIFICATE-----
39
+ date: 2024-03-06 00:00:00.000000000 Z
12
40
  dependencies:
13
41
  - !ruby/object:Gem::Dependency
14
42
  name: activemodel
@@ -16,212 +44,174 @@ dependencies:
16
44
  requirements:
17
45
  - - ">="
18
46
  - !ruby/object:Gem::Version
19
- version: 4.0.0
47
+ version: 5.2.8.1
20
48
  type: :runtime
21
49
  prerelease: false
22
50
  version_requirements: !ruby/object:Gem::Requirement
23
51
  requirements:
24
52
  - - ">="
25
53
  - !ruby/object:Gem::Version
26
- version: 4.0.0
54
+ version: 5.2.8.1
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: activerecord
29
57
  requirement: !ruby/object:Gem::Requirement
30
58
  requirements:
31
59
  - - ">="
32
60
  - !ruby/object:Gem::Version
33
- version: 4.0.0
61
+ version: 5.2.8.1
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: 4.0.0
68
+ version: 5.2.8.1
41
69
  - !ruby/object:Gem::Dependency
42
- name: byebug
70
+ name: version_gem
43
71
  requirement: !ruby/object:Gem::Requirement
44
72
  requirements:
45
73
  - - "~>"
46
74
  - !ruby/object:Gem::Version
47
- version: '11.1'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '11.1'
55
- - !ruby/object:Gem::Dependency
56
- name: factory_bot
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
75
+ version: '1.1'
59
76
  - - ">="
60
77
  - !ruby/object:Gem::Version
61
- version: '4.0'
62
- type: :development
78
+ version: 1.1.3
79
+ type: :runtime
63
80
  prerelease: false
64
81
  version_requirements: !ruby/object:Gem::Requirement
65
82
  requirements:
83
+ - - "~>"
84
+ - !ruby/object:Gem::Version
85
+ version: '1.1'
66
86
  - - ">="
67
87
  - !ruby/object:Gem::Version
68
- version: '4.0'
88
+ version: 1.1.3
69
89
  - !ruby/object:Gem::Dependency
70
90
  name: rake
71
91
  requirement: !ruby/object:Gem::Requirement
72
92
  requirements:
73
93
  - - ">="
74
94
  - !ruby/object:Gem::Version
75
- version: '12.0'
95
+ version: '13.1'
76
96
  type: :development
77
97
  prerelease: false
78
98
  version_requirements: !ruby/object:Gem::Requirement
79
99
  requirements:
80
100
  - - ">="
81
101
  - !ruby/object:Gem::Version
82
- version: '12.0'
102
+ version: '13.1'
83
103
  - !ruby/object:Gem::Dependency
84
- name: rspec
104
+ name: kramdown
85
105
  requirement: !ruby/object:Gem::Requirement
86
106
  requirements:
87
107
  - - "~>"
88
108
  - !ruby/object:Gem::Version
89
- version: '3.10'
109
+ version: '2.4'
90
110
  type: :development
91
111
  prerelease: false
92
112
  version_requirements: !ruby/object:Gem::Requirement
93
113
  requirements:
94
114
  - - "~>"
95
115
  - !ruby/object:Gem::Version
96
- version: '3.10'
116
+ version: '2.4'
97
117
  - !ruby/object:Gem::Dependency
98
- name: rspec-benchmark
118
+ name: yard
99
119
  requirement: !ruby/object:Gem::Requirement
100
120
  requirements:
101
121
  - - "~>"
102
122
  - !ruby/object:Gem::Version
103
- version: '0.6'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '0.6'
111
- - !ruby/object:Gem::Dependency
112
- name: rspec-block_is_expected
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
123
+ version: '0.9'
124
+ - - ">="
116
125
  - !ruby/object:Gem::Version
117
- version: '1.0'
126
+ version: 0.9.34
118
127
  type: :development
119
128
  prerelease: false
120
129
  version_requirements: !ruby/object:Gem::Requirement
121
130
  requirements:
122
131
  - - "~>"
123
132
  - !ruby/object:Gem::Version
124
- version: '1.0'
125
- - !ruby/object:Gem::Dependency
126
- name: rspec-pending_for
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: '0.1'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - "~>"
133
+ version: '0.9'
134
+ - - ">="
137
135
  - !ruby/object:Gem::Version
138
- version: '0.1'
136
+ version: 0.9.34
139
137
  - !ruby/object:Gem::Dependency
140
- name: silent_stream
138
+ name: yard-junk
141
139
  requirement: !ruby/object:Gem::Requirement
142
140
  requirements:
143
141
  - - "~>"
144
142
  - !ruby/object:Gem::Version
145
- version: '1.0'
143
+ version: '0.0'
146
144
  type: :development
147
145
  prerelease: false
148
146
  version_requirements: !ruby/object:Gem::Requirement
149
147
  requirements:
150
148
  - - "~>"
151
149
  - !ruby/object:Gem::Version
152
- version: '1.0'
150
+ version: '0.0'
153
151
  - !ruby/object:Gem::Dependency
154
- name: rubocop
152
+ name: factory_bot
155
153
  requirement: !ruby/object:Gem::Requirement
156
154
  requirements:
157
- - - "~>"
155
+ - - '='
158
156
  - !ruby/object:Gem::Version
159
- version: '1.22'
157
+ version: 6.4.4
160
158
  type: :development
161
159
  prerelease: false
162
160
  version_requirements: !ruby/object:Gem::Requirement
163
161
  requirements:
164
- - - "~>"
162
+ - - '='
165
163
  - !ruby/object:Gem::Version
166
- version: '1.22'
164
+ version: 6.4.4
167
165
  - !ruby/object:Gem::Dependency
168
- name: rubocop-md
166
+ name: rspec
169
167
  requirement: !ruby/object:Gem::Requirement
170
168
  requirements:
171
- - - "~>"
169
+ - - ">="
172
170
  - !ruby/object:Gem::Version
173
- version: '1.0'
171
+ version: '3'
174
172
  type: :development
175
173
  prerelease: false
176
174
  version_requirements: !ruby/object:Gem::Requirement
177
175
  requirements:
178
- - - "~>"
176
+ - - ">="
179
177
  - !ruby/object:Gem::Version
180
- version: '1.0'
178
+ version: '3'
181
179
  - !ruby/object:Gem::Dependency
182
- name: rubocop-minitest
180
+ name: rspec-benchmark
183
181
  requirement: !ruby/object:Gem::Requirement
184
182
  requirements:
185
183
  - - "~>"
186
184
  - !ruby/object:Gem::Version
187
- version: '0.15'
185
+ version: '0.6'
188
186
  type: :development
189
187
  prerelease: false
190
188
  version_requirements: !ruby/object:Gem::Requirement
191
189
  requirements:
192
190
  - - "~>"
193
191
  - !ruby/object:Gem::Version
194
- version: '0.15'
192
+ version: '0.6'
195
193
  - !ruby/object:Gem::Dependency
196
- name: rubocop-packaging
194
+ name: rspec-block_is_expected
197
195
  requirement: !ruby/object:Gem::Requirement
198
196
  requirements:
199
197
  - - "~>"
200
198
  - !ruby/object:Gem::Version
201
- version: '0.5'
202
- type: :development
203
- prerelease: false
204
- version_requirements: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - "~>"
207
- - !ruby/object:Gem::Version
208
- version: '0.5'
209
- - !ruby/object:Gem::Dependency
210
- name: rubocop-performance
211
- requirement: !ruby/object:Gem::Requirement
212
- requirements:
213
- - - "~>"
199
+ version: '1.0'
200
+ - - ">="
214
201
  - !ruby/object:Gem::Version
215
- version: '1.11'
202
+ version: 1.0.5
216
203
  type: :development
217
204
  prerelease: false
218
205
  version_requirements: !ruby/object:Gem::Requirement
219
206
  requirements:
220
207
  - - "~>"
221
208
  - !ruby/object:Gem::Version
222
- version: '1.11'
209
+ version: '1.0'
210
+ - - ">="
211
+ - !ruby/object:Gem::Version
212
+ version: 1.0.5
223
213
  - !ruby/object:Gem::Dependency
224
- name: rubocop-rake
214
+ name: rspec_junit_formatter
225
215
  requirement: !ruby/object:Gem::Requirement
226
216
  requirements:
227
217
  - - "~>"
@@ -235,33 +225,33 @@ dependencies:
235
225
  - !ruby/object:Gem::Version
236
226
  version: '0.6'
237
227
  - !ruby/object:Gem::Dependency
238
- name: rubocop-rspec
228
+ name: rspec-pending_for
239
229
  requirement: !ruby/object:Gem::Requirement
240
230
  requirements:
241
- - - "~>"
231
+ - - ">="
242
232
  - !ruby/object:Gem::Version
243
- version: '2.5'
233
+ version: '0'
244
234
  type: :development
245
235
  prerelease: false
246
236
  version_requirements: !ruby/object:Gem::Requirement
247
237
  requirements:
248
- - - "~>"
238
+ - - ">="
249
239
  - !ruby/object:Gem::Version
250
- version: '2.5'
240
+ version: '0'
251
241
  - !ruby/object:Gem::Dependency
252
- name: rubocop-thread_safety
242
+ name: silent_stream
253
243
  requirement: !ruby/object:Gem::Requirement
254
244
  requirements:
255
- - - "~>"
245
+ - - ">="
256
246
  - !ruby/object:Gem::Version
257
- version: '0.4'
247
+ version: '1'
258
248
  type: :development
259
249
  prerelease: false
260
250
  version_requirements: !ruby/object:Gem::Requirement
261
251
  requirements:
262
- - - "~>"
252
+ - - ">="
263
253
  - !ruby/object:Gem::Version
264
- version: '0.4'
254
+ version: '1'
265
255
  - !ruby/object:Gem::Dependency
266
256
  name: sqlite3
267
257
  requirement: !ruby/object:Gem::Requirement
@@ -276,20 +266,6 @@ dependencies:
276
266
  - - "~>"
277
267
  - !ruby/object:Gem::Version
278
268
  version: '1'
279
- - !ruby/object:Gem::Dependency
280
- name: yard
281
- requirement: !ruby/object:Gem::Requirement
282
- requirements:
283
- - - ">="
284
- - !ruby/object:Gem::Version
285
- version: 0.9.20
286
- type: :development
287
- prerelease: false
288
- version_requirements: !ruby/object:Gem::Requirement
289
- requirements:
290
- - - ">="
291
- - !ruby/object:Gem::Version
292
- version: 0.9.20
293
269
  description: Getting transactions right is hard, and this gem makes it easier.
294
270
  email:
295
271
  - peter.boling@gmail.com
@@ -297,33 +273,26 @@ executables: []
297
273
  extensions: []
298
274
  extra_rdoc_files: []
299
275
  files:
300
- - ".github/FUNDING.yml"
301
- - ".github/dependabot.yml"
302
- - ".github/workflows/style.yml"
303
- - ".github/workflows/supported.yml"
304
- - ".github/workflows/unsupported.yml"
305
- - ".gitignore"
306
- - ".rspec"
307
- - ".rubocop.yml"
308
- - ".rubocop_todo.yml"
309
- - ".simplecov"
310
276
  - CODE_OF_CONDUCT.md
311
277
  - CONTRIBUTING.md
312
- - Gemfile
313
- - LICENSE
278
+ - LICENSE.txt
314
279
  - README.md
315
- - Rakefile
316
280
  - SECURITY.md
317
- - activerecord-transactionable.gemspec
318
- - bin/console
319
- - bin/setup
320
281
  - lib/activerecord/transactionable.rb
321
282
  - lib/activerecord/transactionable/result.rb
322
283
  - lib/activerecord/transactionable/version.rb
323
- homepage: http://www.railsbling.com/tags/activerecord-transactionable
284
+ homepage: https://github.com/pboling/activerecord-transactionable
324
285
  licenses:
325
286
  - MIT
326
- metadata: {}
287
+ metadata:
288
+ homepage_uri: https://github.com/pboling/activerecord-transactionable
289
+ source_code_uri: https://github.com/pboling/activerecord-transactionable/tree/v3.0.3
290
+ bug_tracker_uri: https://github.com/pboling/activerecord-transactionable/issues
291
+ documentation_uri: https://www.rubydoc.info/gems/activerecord-transactionable/3.0.3
292
+ wiki_uri: https://github.com/pboling/activerecord-transactionable/wiki
293
+ funding_uri: https://liberapay.com/pboling
294
+ news_uri: https://www.railsbling.com/tags/activerecord-transactionable
295
+ rubygems_mfa_required: 'true'
327
296
  post_install_message:
328
297
  rdoc_options: []
329
298
  require_paths:
@@ -339,7 +308,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
339
308
  - !ruby/object:Gem::Version
340
309
  version: '0'
341
310
  requirements: []
342
- rubygems_version: 3.2.22
311
+ rubygems_version: 3.5.6
343
312
  signing_key:
344
313
  specification_version: 4
345
314
  summary: Do ActiveRecord transactions the right way.
metadata.gz.sig ADDED
Binary file
data/.github/FUNDING.yml DELETED
@@ -1,12 +0,0 @@
1
- # These are supported funding model platforms
2
-
3
- github: [pboling] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4
- patreon: galtzo # Replace with a single Patreon username
5
- open_collective: # Replace with a single Open Collective username
6
- ko_fi: pboling # Replace with a single Ko-fi username
7
- tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8
- community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9
- liberapay: pboling # Replace with a single Liberapay username
10
- issuehunt: pboling # Replace with a single IssueHunt username
11
- otechie: # Replace with a single Otechie username
12
- custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
@@ -1,8 +0,0 @@
1
- version: 2
2
- updates:
3
- - package-ecosystem: bundler
4
- directory: "/"
5
- schedule:
6
- interval: daily
7
- time: "04:29"
8
- open-pull-requests-limit: 10