Sha256: d65763c1d85f9e4e408fe777b18415b9fd9cac973c80a5b1808956ea0dfa4dd3

Contents?: true

Size: 499 Bytes

Versions: 42

Compression:

Stored size: 499 Bytes

Contents

module Sentry
  module Utils
    module ExceptionCauseChain
      def self.exception_to_array(exception)
        if exception.respond_to?(:cause) && exception.cause
          exceptions = [exception]
          while exception.cause
            exception = exception.cause
            break if exceptions.any? { |e| e.object_id == exception.object_id }

            exceptions << exception
          end
          exceptions
        else
          [exception]
        end
      end
    end
  end
end

Version data entries

42 entries across 42 versions & 3 rubygems

Version Path
sentry-ruby-core-4.3.1 lib/sentry/utils/exception_cause_chain.rb
sentry-ruby-core-4.3.0 lib/sentry/utils/exception_cause_chain.rb
sentry-ruby-core-4.2.2 lib/sentry/utils/exception_cause_chain.rb
sentry-ruby-core-4.2.1 lib/sentry/utils/exception_cause_chain.rb
sentry-ruby-core-4.2.0 lib/sentry/utils/exception_cause_chain.rb
sentry-ruby-core-4.1.6 lib/sentry/utils/exception_cause_chain.rb
sentry-ruby-core-4.1.5 lib/sentry/utils/exception_cause_chain.rb
sentry-ruby-core-4.1.5.pre.beta.1 lib/sentry/utils/exception_cause_chain.rb
sentry-ruby-core-4.1.5.pre.beta.0 lib/sentry/utils/exception_cause_chain.rb
sentry-ruby-4.1.4 lib/sentry/utils/exception_cause_chain.rb
sentry-ruby-4.1.3 lib/sentry/utils/exception_cause_chain.rb
sentry-ruby-4.1.2 lib/sentry/utils/exception_cause_chain.rb
sentry-ruby-4.1.1 lib/sentry/utils/exception_cause_chain.rb
sentry-ruby-4.1.0 lib/sentry/utils/exception_cause_chain.rb
sentry-ruby-4.0.1 lib/sentry/utils/exception_cause_chain.rb
sentry-ruby-4.0.0 lib/sentry/utils/exception_cause_chain.rb
sentry-ruby-0.3.0 lib/sentry/utils/exception_cause_chain.rb
sentry-ruby-0.2.0 lib/sentry/utils/exception_cause_chain.rb
sentry-ruby-0.1.3 lib/sentry/utils/exception_cause_chain.rb
sentry-ruby-0.1.2 lib/sentry/utils/exception_cause_chain.rb