activerecord-transactionable 3.0.1 → 3.0.3

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.
@@ -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