Method: ActiveSupport::Notifications.subscribe
- Defined in:
- lib/active_support/notifications.rb
.subscribe(pattern = nil, callback = nil, &block) ⇒ Object
Subscribe to a given event name with the passed block
.
You can subscribe to events by passing a String to match exact event names, or by passing a Regexp to match all events that match a pattern.
ActiveSupport::Notifications.subscribe(/render/) do |*args|
@event = ActiveSupport::Notifications::Event.new(*args)
end
The block
will receive five parameters with information about the event:
ActiveSupport::Notifications.subscribe('render') do |name, start, finish, id, payload|
name # => String, name of the event (such as 'render' from above)
start # => Time, when the instrumented block started execution
finish # => Time, when the instrumented block ended execution
id # => String, unique ID for the instrumenter that fired the event
payload # => Hash, the payload
end
If the block passed to the method only takes one parameter, it will yield an event object to the block:
ActiveSupport::Notifications.subscribe(/render/) do |event|
@event = event
end
234 235 236 |
# File 'lib/active_support/notifications.rb', line 234 def subscribe(pattern = nil, callback = nil, &block) notifier.subscribe(pattern, callback, monotonic: false, &block) end |