Sha256: 1debeddafe5cdab1cf16be99b45d770cdd24cc6cb83cdb98aad3d58db0b65717

Contents?: true

Size: 609 Bytes

Versions: 1

Compression:

Stored size: 609 Bytes

Contents

# Thanks to @charliesome who wrote this bit for better_errors.
class Exception
  original_set_backtrace = instance_method(:set_backtrace)

  define_method :set_backtrace do |*args|
    unless Thread.current[:__web_console_exception_lock]
      Thread.current[:__web_console_exception_lock] = true
      begin
        @__web_console_bindings_stack = binding.callers.drop(1)
      ensure
        Thread.current[:__web_console_exception_lock] = false
      end
    end

    original_set_backtrace.bind(self).call(*args)
  end

  def __web_console_bindings_stack
    @__web_console_bindings_stack || []
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
web-console-2.0.0.beta3 lib/web_console/exception_extension.rb