instance method
emitting?
Ruby on Rails edge
Since edgeSignature
emitting?(name)
Whether any subscriber would currently consume an event with the given name. Subscribers that respond to consumes? (such as the framework log subscribers, which discard events below their logger’s level) are asked; all other subscribers are assumed to consume everything. Emitters can use this to skip building event payloads that would go nowhere:
“‘ruby if Rails.event.emitting?(“user.created”)
Rails.event.notify("user.created", expensive_payload_for(user))
end “‘
Parameters
-
namereq
Source
# File activesupport/lib/active_support/event_reporter.rb, line 383
def emitting?(name)
name = resolve_name(name)
event = { name: name }
@subscribers.any? do |subscriber_entry|
filter = subscriber_entry[:filter]
(!filter || filter.call(event)) && subscriber_consumes?(subscriber_entry[:subscriber], name)
end
end
Defined in activesupport/lib/active_support/event_reporter.rb line 383
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveSupport::EventReporter