Module: Isolator::ActiveSupportSubscriber
- Defined in:
- lib/isolator/orm_adapters/active_support_subscriber.rb
Overview
ActiveSupport notifications listener Used for ActiveRecord and ROM::SQL (when instrumentation is available)
Constant Summary collapse
- START_PATTERN =
%r{(\ABEGIN|\ASAVEPOINT)}xi
- FINISH_PATTERN =
%r{(\ACOMMIT|\AROLLBACK|\ARELEASE|\AEND TRANSACTION)}xi
Class Method Summary collapse
Class Method Details
.subscribe!(event) ⇒ Object
10 11 12 13 14 15 |
# File 'lib/isolator/orm_adapters/active_support_subscriber.rb', line 10 def self.subscribe!(event) ::ActiveSupport::Notifications.subscribe(event) do |_name, _start, _finish, _id, query| Isolator.incr_transactions! if query[:sql] =~ START_PATTERN Isolator.decr_transactions! if query[:sql] =~ FINISH_PATTERN end end |