method
new
v6.1.7.7 -
Show latest stable
- Class:
ActiveSupport::Notifications::Fanout::Subscribers
new(pattern, listener, monotonic)public
No documentation available.
# File activesupport/lib/active_support/notifications/fanout.rb, line 88
def self.new(pattern, listener, monotonic)
subscriber_class = monotonic ? MonotonicTimed : Timed
if listener.respond_to?(:start) && listener.respond_to?(:finish)
subscriber_class = Evented
else
# Doing all this to detect a block like `proc { |x| }` vs
# `proc { |*x| }` or `proc { |**x| }`
if listener.respond_to?(:parameters)
params = listener.parameters
if params.length == 1 && params.first.first == :opt
subscriber_class = EventObject
end
end
end
wrap_all pattern, subscriber_class.new(pattern, listener)
end