diff --git a/lib/after_commit_everywhere.rb b/lib/after_commit_everywhere.rb index 193147c..944b7d3 100644 --- a/lib/after_commit_everywhere.rb +++ b/lib/after_commit_everywhere.rb @@ -124,10 +124,11 @@ def register_callback(prepend:, connection: nil, name:, without_tx:, callback:) connection ||= default_connection wrap = Wrap.new(connection: connection, "#{name}": callback) - connection.add_transaction_record(wrap) + if prepend - records = connection.current_transaction.instance_variable_get(:@records) - records.unshift(records.pop) + connection.current_transaction.instance_variable_get(:@records).unshift(wrap) + else + connection.add_transaction_record(wrap) end end