Skip to content

Commit f1cf419

Browse files
authored
fix: Journaled::Outbox::Adapter should respect Journaled.enabled? (#60)
* respect Journaled.enabled? in outbox adapter * bump patch version
1 parent 8a68afb commit f1cf419

File tree

7 files changed

+29
-4
lines changed

7 files changed

+29
-4
lines changed

Gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: .
33
specs:
4-
journaled (6.2.3)
4+
journaled (6.2.4)
55
activejob
66
activerecord
77
activesupport

gemfiles/rails_7_2.gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: ..
33
specs:
4-
journaled (6.2.3)
4+
journaled (6.2.4)
55
activejob
66
activerecord
77
activesupport

gemfiles/rails_8_0.gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: ..
33
specs:
4-
journaled (6.2.3)
4+
journaled (6.2.4)
55
activejob
66
activerecord
77
activesupport

lib/journaled/outbox/adapter.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ class TableNotFoundError < StandardError; end
2121
# @param ** [Hash] Additional options (ignored, for interface compatibility)
2222
# @return [void]
2323
def self.deliver(events:, **)
24+
return unless Journaled.enabled?
25+
2426
check_table_exists!
2527

2628
records = events.map do |event|

lib/journaled/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# frozen_string_literal: true
22

33
module Journaled
4-
VERSION = "6.2.3"
4+
VERSION = "6.2.4"
55
end

spec/lib/journaled/outbox/adapter_spec.rb

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,28 @@
8181
end
8282

8383
describe '.deliver' do
84+
context 'when Journaled is disabled' do
85+
before do
86+
allow(Journaled).to receive(:enabled?).and_return(false)
87+
end
88+
89+
it 'does not persist any events' do
90+
expect {
91+
described_class.deliver(events:, enqueue_opts:)
92+
}.not_to change { Journaled::Outbox::Event.count }
93+
end
94+
95+
it 'does not check for table existence' do
96+
expect(described_class).not_to receive(:check_table_exists!)
97+
described_class.deliver(events:, enqueue_opts:)
98+
end
99+
end
100+
84101
context 'when tables exist' do
102+
before do
103+
allow(Journaled).to receive(:enabled?).and_return(true)
104+
end
105+
85106
it 'creates database event records' do
86107
expect {
87108
described_class.deliver(events:, enqueue_opts:)
@@ -119,6 +140,7 @@
119140

120141
context 'when tables do not exist' do
121142
before do
143+
allow(Journaled).to receive(:enabled?).and_return(true)
122144
allow(Journaled::Outbox::Event).to receive(:table_exists?).and_return(false)
123145
end
124146

spec/models/journaled/writer_spec.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -503,6 +503,7 @@ def fake_event(num)
503503
context 'with Outbox::Adapter' do
504504
before do
505505
skip "Outbox tests require PostgreSQL" unless ActiveRecord::Base.connection.adapter_name == 'PostgreSQL'
506+
allow(Journaled).to receive(:enabled?).and_return(true)
506507
end
507508

508509
around do |example|

0 commit comments

Comments
 (0)