Sha256: fdfdca5f22f63a8aacc9e6d123cec573718059826b7a20bc9614478f8eb632b9

Contents?: true

Size: 587 Bytes

Versions: 1

Compression:

Stored size: 587 Bytes

Contents

# typed: strict

module Mocktail
  class CleansBacktrace
    extend T::Sig

    sig {
      type_parameters(:T)
        .params(error: T.all(T.type_parameter(:T), StandardError))
        .returns(T.type_parameter(:T))
    }
    def clean(error)
      raise error
    rescue error.class => e
      T.cast(e, T.all(T.type_parameter(:T), StandardError)).tap do |e|
        e.set_backtrace(e.backtrace.drop_while { |frame|
          frame.start_with?(BASE_PATH, BASE_PATH) || frame.match?(/[\\|\/]sorbet-runtime.*[\\|\/]lib[\\|\/]types[\\|\/]private/)
        })
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mocktail-2.0.0 lib/mocktail/sorbet/mocktail/share/cleans_backtrace.rb