Envolva várias solicitações em uma transação

Se um servidor Rails está rodando no modo single threading, você pode começar uma transação por um pedido e então terminar uma transação com outro pedido. Todas as solicitações entre essas duas solicitações serão agrupadas em uma transação. Como isso pode ser útil? As vezes.

module Concerns
module Transactions
extend
ActiveSupport::Concern

def transaction_begin
ActiveRecord::Base.connection.begin_db_transaction
ActiveRecord::Base.connection.increment_open_transactions
render nothing
: true
end

def transaction_rollback
ActiveRecord::Base.connection.decrement_open_transactions
ActiveRecord::Base.connection.rollback_db_transaction
render nothing
: true
end

end
end