method
new
rails latest stable - Class:
ActiveSupport::Notifications::Fanout::Subscribers
new(pattern, listener, monotonic)public
No documentation available.
# File activesupport/lib/active_support/notifications/fanout.rb, line 323
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 this to detect a single argument block or callable
# like `proc { |x| }` vs `proc { |*x| }`, `proc { |**x| }`,
# or `proc { |x, **y| }`
procish = listener.respond_to?(:parameters) ? listener : listener.method(:call)
if procish.arity == 1 && procish.parameters.length == 1
subscriber_class = EventObject
end
end
subscriber_class.new(pattern, listener)
end