Method: DB::Client#transaction
- Defined in:
- lib/db/client.rb
#transaction(**options) ⇒ Object
Acquires a connection and starts a transaction.
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/db/client.rb', line 61 def transaction(**) transaction = Context::Transaction.new(@pool, **) transaction.begin return transaction unless block_given? begin yield transaction rescue transaction.abort raise ensure transaction.commit? end end |