Module: ActiveSupport::Notifications::FanoutIteration
Do not use. This module is for internal use only.
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Included In:
| |
Defined in: | activesupport/lib/active_support/notifications/fanout.rb |
Instance Method Summary
Instance Method Details
#iterate_guarding_exceptions(collection) (private)
[ GitHub ]# File 'activesupport/lib/active_support/notifications/fanout.rb', line 20
def iterate_guarding_exceptions(collection) exceptions = nil collection.each do |s| yield s rescue Exception => e exceptions ||= [] exceptions << e end if exceptions exceptions = exceptions.flat_map do |exception| exception.is_a?(InstrumentationSubscriberError) ? exception.exceptions : [exception] end if exceptions.size == 1 raise exceptions.first else raise InstrumentationSubscriberError.new(exceptions), cause: exceptions.first end end collection end