Module: ActiveJob::Temporal::TransactionSafety::QueueAdapterSetter

Defined in:
lib/activejob/temporal/transaction_safety.rb

Constant Summary collapse

INHERITED_TRANSACTION_SETTING_MISSING =
Object.new.freeze

Instance Method Summary collapse

Instance Method Details

#enqueue_after_transaction_commit=(value) ⇒ Object



23
24
25
26
27
28
29
30
# File 'lib/activejob/temporal/transaction_safety.rb', line 23

def enqueue_after_transaction_commit=(value)
  super.tap do
    next if setting_temporal_transaction_safety?

    @activejob_temporal_transaction_setting_explicit = true
    @activejob_temporal_transaction_setting_changed_after_safety = true if temporal_transaction_safety_applied?
  end
end

#queue_adapter=(adapter) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/activejob/temporal/transaction_safety.rb', line 11

def queue_adapter=(adapter)
  previous_transaction_setting = enqueue_after_transaction_commit

  super.tap do
    if temporal_queue_adapter?(adapter)
      apply_temporal_transaction_safety(previous_transaction_setting)
    else
      restore_temporal_transaction_safety
    end
  end
end