Method: Effective::AfterCommit.register_callback
- Defined in:
- app/models/effective/after_commit.rb
.register_callback(connection:, name:, callback:) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 |
# File 'app/models/effective/after_commit.rb', line 28 def self.register_callback(connection:, name:, callback:) raise ArgumentError, "#{name} expected a block" unless callback in_transaction = (connection.transaction_open? && connection.current_transaction.joinable?) # Execute immediately when outside transaction return callback.call unless in_transaction after_commit = Effective::AfterCommit.new("#{name}": callback) connection.add_transaction_record(after_commit) end |