Sha256: edec0e53a441b771323787d63ac9600d04b628231deb38474155dbe437b87db1
Contents?: true
Size: 949 Bytes
Versions: 8
Compression:
Stored size: 949 Bytes
Contents
# frozen_string_literal: true # Exeption overrides class ::Exception class << self attr_accessor :__disable_sanitized_backtrace__ end attr_accessor :source_fiber, :raising_fiber alias_method :orig_initialize, :initialize def initialize(*args) @raising_fiber = Fiber.current orig_initialize(*args) end alias_method :orig_backtrace, :backtrace def backtrace unless @backtrace_called @backtrace_called = true return orig_backtrace end sanitized_backtrace end def sanitized_backtrace return sanitize(orig_backtrace) unless @raising_fiber backtrace = orig_backtrace || [] sanitize(backtrace + @raising_fiber.caller) end POLYPHONY_DIR = File.expand_path(File.join(__dir__, '..')) def sanitize(backtrace) return backtrace if ::Exception.__disable_sanitized_backtrace__ backtrace.reject { |l| l[POLYPHONY_DIR] } end def invoke Kernel.raise(self) end end
Version data entries
8 entries across 8 versions & 1 rubygems