class method self.subscribe

Ruby on Rails 8.1.2

Since v3.0.20

Available in: v3.0.20 v3.1.12 v3.2.22.5 v4.0.13 v4.1.16 v4.2.9 v5.2.8.1 v6.0.6 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

Signature

self.subscribe(pattern = nil, callback = nil, &block)

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.

If the block passed to the method only takes one argument, it will yield an Event object to the block:

ActiveSupport::Notifications.subscribe(/render/) do |event|
  @event = event
end

Otherwise the block will receive five arguments 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

Raises an error if invalid event name type is passed:

ActiveSupport::Notifications.subscribe(:render) {|event| ...}
#=> ArgumentError (pattern must be specified as a String, Regexp or empty)

Parameters

pattern opt = nil
callback opt = nil
block block
Source
# File activesupport/lib/active_support/notifications.rb, line 244
      def subscribe(pattern = nil, callback = nil, &block)
        notifier.subscribe(pattern, callback, monotonic: false, &block)
      end

Defined in activesupport/lib/active_support/notifications.rb line 244 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveSupport::Notifications

Type at least 2 characters to search.

↑↓ navigate · open · esc close