Module: RaceGuard::ActiveRecord::TransactionPatch
- Defined in:
- lib/race_guard/active_record.rb
Overview
Prepended onto ActiveRecord::Base.singleton_class.
Instance Method Summary collapse
Instance Method Details
#transaction(*args, **kwargs, &block) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/race_guard/active_record.rb', line 17 def transaction(*args, **kwargs, &block) return super(*args, **kwargs) unless block RaceGuard.context.begin_transaction success = false begin super(*args, **kwargs, &block) # rubocop:disable Style/SuperArguments -- bare super breaks nested AR success = true rescue StandardError success = false raise ensure RaceGuard.context.end_transaction(success: success) end end |