class ActiveSupport::Notifications::Fanout

def iterate_guarding_exceptions(listeners)

Experimental RBS support (using type sampling data from the type_fusion project).

type ActiveSupport__Notifications__Fanout_iterate_guarding_exceptions_listeners = Array[ActiveSupport::Notifications::Fanout::Subscribers::Evented] | Array[] | Array[ActiveSupport::Notifications::Fanout::Subscribers::EventObject] | Array[ActiveSupport::Notifications::Fanout::Subscribers::Timed]

def iterate_guarding_exceptions: (ActiveSupport__Notifications__Fanout_iterate_guarding_exceptions_listeners listeners) -> Array[ActiveSupport::Notifications::Fanout::Subscribers::Evented]

This signature was generated using 150 samples from 3 applications.

def iterate_guarding_exceptions(listeners)
  exceptions = nil
  listeners.each do |s|
    yield s
  rescue Exception => e
    exceptions ||= []
    exceptions << e
  end
  if exceptions
    if exceptions.size == 1
      raise exceptions.first
    else
      raise InstrumentationSubscriberError.new(exceptions), cause: exceptions.first
    end
  end
  listeners
end