Module: ActionPubsub::ActiveRecord::WithConnection::ClassMethods

Defined in:
lib/action_pubsub/active_record/with_connection.rb

Instance Method Summary collapse

Instance Method Details

#on(*paths, as: nil, &block) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/action_pubsub/active_record/with_connection.rb', line 7

def on(*paths, as:nil, &block)
  wrapped_block = lambda{ |message|
    ::ActiveRecord::Base.connection_pool.with_connection { block.call(message) }
  }

  _subscriptions = ::ActionPubsub.on(*paths, as:(as || _as), &wrapped_block)
  _subscriptions.each { |_subscription| subscriptions << _subscription }
  subscriptions
end