journaled 5.2.0 → 5.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +8 -0
- data/lib/journaled/audit_log.rb +3 -6
- data/lib/journaled/connection.rb +2 -2
- data/lib/journaled/version.rb +1 -1
- data/lib/journaled.rb +13 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 519a94ed5c16626bdd0d6494b510eb1768a86e1f04119857fd8add4b7d6ea5f5
|
4
|
+
data.tar.gz: 3f675a229c45fc08b71181be5d6934b44eea9e849a7bfeebabec553721833587
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0a1d76ef86b435424e0902dc499cc9f9984450da09f0783129d831fc62b4d31bf30651cc0d8cb074592887b12c3eba335f3d5580d22e6e398e1729e4ffa6e1ca
|
7
|
+
data.tar.gz: 93ddf98e9813da2bed0939aeb522806e5707d4f8563a46d595398e3edc8485b802c776cc14b95f3ec44e3aeb0eea25cc460d2b1b6cd3f9af84ac3f4a55e166cc
|
data/README.md
CHANGED
@@ -682,6 +682,14 @@ This feature can be disabled conditionally:
|
|
682
682
|
Journaled.transactional_batching_enabled = false
|
683
683
|
```
|
684
684
|
|
685
|
+
And can then be enabled via the following block:
|
686
|
+
|
687
|
+
```ruby
|
688
|
+
Journaled.with_transactional_batching do
|
689
|
+
# your code
|
690
|
+
end
|
691
|
+
```
|
692
|
+
|
685
693
|
Backwards compatibility has been included for background jobs enqueued by
|
686
694
|
version 4.0 and above, but **has been dropped for jobs emitted by versions prior
|
687
695
|
to 4.0**. (Again, be sure to upgrade only one major version at a time.)
|
data/lib/journaled/audit_log.rb
CHANGED
@@ -52,11 +52,8 @@ module Journaled
|
|
52
52
|
private
|
53
53
|
|
54
54
|
def zeitwerk_exclude!(name)
|
55
|
-
if Object.const_defined?(name)
|
56
|
-
|
57
|
-
else
|
58
|
-
Rails.autoloaders.main.on_load(name) { |klass, _path| klass.skip_audit_log }
|
59
|
-
end
|
55
|
+
name.constantize.skip_audit_log if Object.const_defined?(name)
|
56
|
+
Rails.autoloaders.main.on_load(name) { |klass, _path| klass.skip_audit_log }
|
60
57
|
end
|
61
58
|
|
62
59
|
def classic_exclude!(name)
|
@@ -83,7 +80,7 @@ module Journaled
|
|
83
80
|
|
84
81
|
def dup
|
85
82
|
super.tap do |config|
|
86
|
-
config.ignored_columns = ignored_columns.dup
|
83
|
+
config.ignored_columns = ignored_columns.dup # rubocop:disable Rails/IgnoredColumnsAssignment
|
87
84
|
config.enqueue_opts = enqueue_opts.dup
|
88
85
|
end
|
89
86
|
end
|
data/lib/journaled/connection.rb
CHANGED
@@ -2,11 +2,11 @@ module Journaled
|
|
2
2
|
module Connection
|
3
3
|
class << self
|
4
4
|
def available?
|
5
|
-
Journaled.transactional_batching_enabled && transaction_open?
|
5
|
+
Journaled.transactional_batching_enabled? && transaction_open?
|
6
6
|
end
|
7
7
|
|
8
8
|
def stage!(event)
|
9
|
-
raise TransactionSafetyError, <<~MSG unless
|
9
|
+
raise TransactionSafetyError, <<~MSG unless available?
|
10
10
|
Transaction not available! By default, journaled event batching requires an open database transaction.
|
11
11
|
MSG
|
12
12
|
|
data/lib/journaled/version.rb
CHANGED
data/lib/journaled.rb
CHANGED
@@ -16,7 +16,19 @@ module Journaled
|
|
16
16
|
mattr_accessor(:http_open_timeout) { 2 }
|
17
17
|
mattr_accessor(:http_read_timeout) { 60 }
|
18
18
|
mattr_accessor(:job_base_class_name) { 'ActiveJob::Base' }
|
19
|
-
|
19
|
+
mattr_writer(:transactional_batching_enabled) { true }
|
20
|
+
|
21
|
+
def self.transactional_batching_enabled?
|
22
|
+
Thread.current[:journaled_transactional_batching_enabled] || @@transactional_batching_enabled
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.with_transactional_batching
|
26
|
+
value_was = Thread.current[:journaled_transactional_batching_enabled]
|
27
|
+
Thread.current[:journaled_transactional_batching_enabled] = true
|
28
|
+
yield
|
29
|
+
ensure
|
30
|
+
Thread.current[:journaled_transactional_batching_enabled] = value_was
|
31
|
+
end
|
20
32
|
|
21
33
|
def self.development_or_test?
|
22
34
|
%w(development test).include?(Rails.env)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: journaled
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jake Lipson
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2023-05-19 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: activejob
|