method
subscribe
v7.0.0 -
Show latest stable
-
0 notes -
Class: ActiveSupport::Notifications
- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.8
- 3.0.0 (0)
- 3.0.9 (0)
- 3.1.0 (0)
- 3.2.1 (0)
- 3.2.8 (0)
- 3.2.13 (0)
- 4.0.2 (0)
- 4.1.8 (0)
- 4.2.1 (0)
- 4.2.7 (0)
- 4.2.9 (0)
- 5.0.0.1 (0)
- 5.1.7 (0)
- 5.2.3 (0)
- 6.0.0 (38)
- 6.1.3.1 (0)
- 6.1.7.7 (0)
- 7.0.0 (7)
- 7.1.3.2 (0)
- 7.1.3.4 (0)
- What's this?
subscribe(pattern = nil, callback = nil, &block)
public
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
Raises an error if invalid event name type is passed:
ActiveSupport::Notifications.subscribe(:render) {|*args| ...} #=> ArgumentError (pattern must be specified as a String, Regexp or empty)