class DebugExtras::Debug

Public Class Methods

new(app) click to toggle source
# File lib/debug_extras/middleware/debug.rb, line 3
def initialize(app)
  @app = app
end

Public Instance Methods

call(env) click to toggle source
# File lib/debug_extras/middleware/debug.rb, line 7
def call(env)
  reset_stack
  @app.call env
rescue StandardError => ex
  process_exception(ex, env)
end

Private Instance Methods

process_exception(ex, env) click to toggle source
# File lib/debug_extras/middleware/debug.rb, line 21
def process_exception(ex, env)
  if [ex.class, ex.cause.class].map(&:to_s).include? "DebugExtras::DebugData"
    debug_page = DebugPage.new(ex, env["PATH_INFO"])
    [200, { "Content-Type" => "text/html; charset=utf-8" }, [debug_page.render]]
  else
    @app.call env
  end
end
reset_stack() click to toggle source
# File lib/debug_extras/middleware/debug.rb, line 16
def reset_stack
  $debug_extras_add_styles = false
  $debug_extras_messages = []
end