activerecord-transactionable 3.0.0 → 3.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/supported.yml +1 -0
- data/.rubocop_todo.yml +16 -5
- data/.simplecov +34 -2
- data/activerecord-transactionable.gemspec +8 -1
- data/lib/activerecord/transactionable/version.rb +1 -1
- data/lib/activerecord/transactionable.rb +2 -2
- metadata +17 -31
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b7d5f0d70200bcd62ca45dd9639614241ad9922c69e26e5e60db1e8c19724ce6
|
4
|
+
data.tar.gz: de2e9d597d44673930c041d7765178e901dceb540461badcde91370b1576e22a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 29aca93fae0610d28954de9fd702d0df342445ff51b70849d4fdea3d18618e818a0cf16b87f800d67519b9719f746786492698595c1ae99fab6b9f61c3945281
|
7
|
+
data.tar.gz: efe950e407b33d34189abeac8aa1c17e527f29bb2c9c331843fac698f6a017792f8263ad65ac151e47bc718dd429de070a31dfe38115461d214d2db9a0d3151d
|
data/.rubocop_todo.yml
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on 2021-11-
|
3
|
+
# on 2021-11-10 07:27:25 UTC using RuboCop version 1.22.3.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
@@ -81,6 +81,17 @@ RSpec/ContextWording:
|
|
81
81
|
Exclude:
|
82
82
|
- 'spec/activerecord/transactionable_spec.rb'
|
83
83
|
|
84
|
+
# Offense count: 1
|
85
|
+
# Configuration parameters: CountAsOne.
|
86
|
+
RSpec/ExampleLength:
|
87
|
+
Max: 10
|
88
|
+
|
89
|
+
# Offense count: 1
|
90
|
+
# Configuration parameters: AssignmentOnly.
|
91
|
+
RSpec/InstanceVariable:
|
92
|
+
Exclude:
|
93
|
+
- 'spec/activerecord/transactionable_spec.rb'
|
94
|
+
|
84
95
|
# Offense count: 5
|
85
96
|
RSpec/LeakyConstantDeclaration:
|
86
97
|
Exclude:
|
@@ -102,7 +113,7 @@ RSpec/NamedSubject:
|
|
102
113
|
Exclude:
|
103
114
|
- 'spec/activerecord/transactionable_spec.rb'
|
104
115
|
|
105
|
-
# Offense count:
|
116
|
+
# Offense count: 54
|
106
117
|
RSpec/NestedGroups:
|
107
118
|
Max: 8
|
108
119
|
|
@@ -124,15 +135,15 @@ Style/GuardClause:
|
|
124
135
|
- 'README.md'
|
125
136
|
- 'spec/activerecord/transactionable_spec.rb'
|
126
137
|
|
127
|
-
# Offense count:
|
138
|
+
# Offense count: 5
|
128
139
|
ThreadSafety/InstanceVariableInClassMethod:
|
129
140
|
Exclude:
|
130
141
|
- 'spec/activerecord/transactionable_spec.rb'
|
131
142
|
|
132
|
-
# Offense count:
|
143
|
+
# Offense count: 70
|
133
144
|
# Cop supports --auto-correct.
|
134
145
|
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
|
135
146
|
# URISchemes: http, https
|
136
147
|
# IgnoredPatterns: (?-mix:^\#)
|
137
148
|
Layout/LineLength:
|
138
|
-
Max:
|
149
|
+
Max: 278
|
data/.simplecov
CHANGED
@@ -1,5 +1,37 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
ruby_version = Gem::Version.new(RUBY_VERSION)
|
4
|
+
actual_version = lambda do |major, minor|
|
5
|
+
actual = Gem::Version.new(ruby_version)
|
6
|
+
major == actual.segments[0] && minor == actual.segments[1] && RUBY_ENGINE == "ruby"
|
7
|
+
end
|
8
|
+
coverage = actual_version.call(2, 6)
|
9
|
+
|
10
|
+
if coverage
|
11
|
+
require "simplecov-cobertura"
|
12
|
+
require "simplecov_json_formatter"
|
13
|
+
require "codecov"
|
14
|
+
|
15
|
+
SimpleCov.start do
|
16
|
+
add_filter "/spec/"
|
17
|
+
add_filter "/lib/activerecord/transactionable/version.rb"
|
18
|
+
|
19
|
+
if ENV["CI"]
|
20
|
+
# Disambiguate individual test runs
|
21
|
+
command_name "#{ENV["GITHUB_WORKFLOW"]} Job #{ENV["GITHUB_RUN_ID"]}:#{ENV["GITHUB_RUN_NUMBER"]}"
|
22
|
+
formatters = []
|
23
|
+
formatters << SimpleCov::Formatter::HTMLFormatter
|
24
|
+
formatters << SimpleCov::Formatter::CoberturaFormatter
|
25
|
+
formatters << SimpleCov::Formatter::JSONFormatter # For CodeClimate
|
26
|
+
formatters << SimpleCov::Formatter::Codecov # For CodeCov
|
27
|
+
formatter SimpleCov::Formatter::MultiFormatter.new(formatters)
|
28
|
+
else
|
29
|
+
# Use default
|
30
|
+
formatter SimpleCov::Formatter::HTMLFormatter
|
31
|
+
end
|
32
|
+
|
33
|
+
track_files "**/*.rb"
|
34
|
+
end
|
35
|
+
else
|
36
|
+
puts "Not running coverage on #{RUBY_ENGINE} #{RUBY_VERSION}"
|
5
37
|
end
|
@@ -23,8 +23,13 @@ Gem::Specification.new do |spec|
|
|
23
23
|
|
24
24
|
ruby_version = Gem::Version.new(RUBY_VERSION)
|
25
25
|
minimum_version = ->(version) { ruby_version >= Gem::Version.new(version) && RUBY_ENGINE == "ruby" }
|
26
|
+
actual_version = lambda do |major, minor|
|
27
|
+
actual = Gem::Version.new(ruby_version)
|
28
|
+
major == actual.segments[0] && minor == actual.segments[1] && RUBY_ENGINE == "ruby"
|
29
|
+
end
|
30
|
+
coverage = actual_version.call(2, 6)
|
26
31
|
linting = minimum_version.call("2.6")
|
27
|
-
|
32
|
+
stream = minimum_version.call("2.3")
|
28
33
|
|
29
34
|
spec.add_dependency "activemodel", ">= 4.0.0"
|
30
35
|
spec.add_dependency "activerecord", ">= 4.0.0"
|
@@ -36,6 +41,7 @@ Gem::Specification.new do |spec|
|
|
36
41
|
spec.add_development_dependency "rspec-benchmark", "~> 0.6"
|
37
42
|
spec.add_development_dependency "rspec-block_is_expected", "~> 1.0"
|
38
43
|
spec.add_development_dependency "rspec-pending_for", "~> 0.1"
|
44
|
+
spec.add_development_dependency "silent_stream", "~> 1.0" if stream
|
39
45
|
if linting
|
40
46
|
spec.add_development_dependency("rubocop", "~> 1.22")
|
41
47
|
spec.add_development_dependency("rubocop-md", "~> 1.0")
|
@@ -47,6 +53,7 @@ Gem::Specification.new do |spec|
|
|
47
53
|
spec.add_development_dependency("rubocop-thread_safety", "~> 0.4")
|
48
54
|
end
|
49
55
|
if coverage
|
56
|
+
spec.add_development_dependency("codecov", "~> 0.6")
|
50
57
|
spec.add_development_dependency("simplecov", "~> 0.21")
|
51
58
|
spec.add_development_dependency("simplecov-cobertura", "~> 1.4")
|
52
59
|
end
|
@@ -63,6 +63,7 @@ module Activerecord
|
|
63
63
|
lock = args.delete(:lock)
|
64
64
|
inside_args = extract_args(args, INSIDE_TRANSACTION_ERROR_HANDLERS)
|
65
65
|
outside_args = extract_args(args, OUTSIDE_TRANSACTION_ERROR_HANDLERS)
|
66
|
+
transaction_args = extract_args(args, TRANSACTION_METHOD_ARG_NAMES)
|
66
67
|
transaction_open = ActiveRecord::Base.connection.transaction_open?
|
67
68
|
unless args.keys.empty?
|
68
69
|
raise ArgumentError,
|
@@ -75,13 +76,12 @@ module Activerecord
|
|
75
76
|
"#{self} should not rescue #{ERRORS_TO_DISALLOW_INSIDE_TRANSACTION.inspect} inside a transaction: #{inside_args.keys.inspect}"
|
76
77
|
end
|
77
78
|
|
78
|
-
transaction_args = extract_args(args, TRANSACTION_METHOD_ARG_NAMES)
|
79
79
|
if transaction_open
|
80
80
|
if transaction_args[REQUIRES_NEW]
|
81
81
|
logger.debug("[#{self}.transaction_wrapper] Will start a nested transaction.")
|
82
82
|
else
|
83
83
|
transaction_args[REQUIRES_NEW] = true
|
84
|
-
logger.warn("[#{self}.transaction_wrapper] Opening a nested transaction. Setting
|
84
|
+
logger.warn("[#{self}.transaction_wrapper] Opening a nested transaction. Setting #{REQUIRES_NEW}: true")
|
85
85
|
end
|
86
86
|
end
|
87
87
|
error_handler_outside_transaction(object: object, transaction_open: transaction_open,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-transactionable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Boling
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-11-
|
11
|
+
date: 2021-11-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -136,6 +136,20 @@ dependencies:
|
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0.1'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: silent_stream
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '1.0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '1.0'
|
139
153
|
- !ruby/object:Gem::Dependency
|
140
154
|
name: rubocop
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -248,34 +262,6 @@ dependencies:
|
|
248
262
|
- - "~>"
|
249
263
|
- !ruby/object:Gem::Version
|
250
264
|
version: '0.4'
|
251
|
-
- !ruby/object:Gem::Dependency
|
252
|
-
name: simplecov
|
253
|
-
requirement: !ruby/object:Gem::Requirement
|
254
|
-
requirements:
|
255
|
-
- - "~>"
|
256
|
-
- !ruby/object:Gem::Version
|
257
|
-
version: '0.21'
|
258
|
-
type: :development
|
259
|
-
prerelease: false
|
260
|
-
version_requirements: !ruby/object:Gem::Requirement
|
261
|
-
requirements:
|
262
|
-
- - "~>"
|
263
|
-
- !ruby/object:Gem::Version
|
264
|
-
version: '0.21'
|
265
|
-
- !ruby/object:Gem::Dependency
|
266
|
-
name: simplecov-cobertura
|
267
|
-
requirement: !ruby/object:Gem::Requirement
|
268
|
-
requirements:
|
269
|
-
- - "~>"
|
270
|
-
- !ruby/object:Gem::Version
|
271
|
-
version: '1.4'
|
272
|
-
type: :development
|
273
|
-
prerelease: false
|
274
|
-
version_requirements: !ruby/object:Gem::Requirement
|
275
|
-
requirements:
|
276
|
-
- - "~>"
|
277
|
-
- !ruby/object:Gem::Version
|
278
|
-
version: '1.4'
|
279
265
|
- !ruby/object:Gem::Dependency
|
280
266
|
name: sqlite3
|
281
267
|
requirement: !ruby/object:Gem::Requirement
|
@@ -353,7 +339,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
353
339
|
- !ruby/object:Gem::Version
|
354
340
|
version: '0'
|
355
341
|
requirements: []
|
356
|
-
rubygems_version: 3.
|
342
|
+
rubygems_version: 3.2.22
|
357
343
|
signing_key:
|
358
344
|
specification_version: 4
|
359
345
|
summary: Do ActiveRecord transactions the right way.
|