class Exception

Exeption overrides

Constants

POLYPHONY_DIR

Attributes

__disable_sanitized_backtrace__[RW]
raising_fiber[RW]
source_fiber[RW]

Public Class Methods

new(*args) click to toggle source
# File lib/polyphony/extensions/core.rb, line 18
def initialize(*args)
  @raising_fiber = Fiber.current
  orig_initialize(*args)
end
Also aliased as: orig_initialize

Public Instance Methods

backtrace() click to toggle source
# File lib/polyphony/extensions/core.rb, line 24
def backtrace
  unless @backtrace_called
    @backtrace_called = true
    return orig_backtrace
  end

  sanitized_backtrace
end
Also aliased as: orig_backtrace
invoke() click to toggle source
# File lib/polyphony/extensions/core.rb, line 48
def invoke
  Kernel.raise(self)
end
orig_backtrace()
Alias for: backtrace
orig_initialize(*args)
Alias for: new
sanitize(backtrace) click to toggle source
# File lib/polyphony/extensions/core.rb, line 42
def sanitize(backtrace)
  return backtrace if ::Exception.__disable_sanitized_backtrace__

  backtrace.reject { |l| l[POLYPHONY_DIR] }
end
sanitized_backtrace() click to toggle source
# File lib/polyphony/extensions/core.rb, line 33
def sanitized_backtrace
  return sanitize(orig_backtrace) unless @raising_fiber

  backtrace = orig_backtrace || []
  sanitize(backtrace + @raising_fiber.caller)
end