DebugExceptions
例外をキャッチしてログにエラーを出力し、開発時にはデバッグ画面を表示するミドルウェア
参考:
ActionDispatch::DebugExceptions | Ruby on Rails API [Official]
rails/debug_exceptions.rb at v5.2.3 · rails/rails – GitHub
DebugExceptions – rails/default_middleware_stack.rb at v5.2.3 · rails/rails – GitHub
ShowExceptions
例外を各種 HTTP エラーに変換してユーザーがエラーメッセージを読めるようにするミドルウェア。主に本番環境用。
参考:
ActionDispatch::ShowExceptions | Ruby on Rails API [Official]
rails/show_exceptions.rb at v5.2.3 · rails/rails – GitHub
ShowExceptions – rails/default_middleware_stack.rb at v5.2.3 · rails/rails – GitHub
DebugView
開発時に表示されるデバッグ用のビューを描画するクラス
参考:
ActionDispatch::DebugExceptions::DebugView | Ruby on Rails API [Official]
DebugView – rails/debug_exceptions.rb at v5.2.3 · rails/rails – GitHub
render_exception
例外をエラーとしてログに書き出し、デバッグ画面を表示する。
参考:
render_exception – rails/debug_exceptions.rb at v5.2.3 · rails/rails – GitHub
render_for_browser_request
ブラウザからのリクエストに対してデバッグ画面となるビューを描画する。
参考:
rails/debug_exceptions.rb at v5.2.3 · rails/rails – GitHub
create_template
デバッグ画面用のビューを作成する。
参考:
create_template – rails/debug_exceptions.rb at v5.2.3 · rails/rails – GitHub
routes_inspector
ルーティングを走査して一覧情報を生成する。
参考:
rails/debug_exceptions.rb at v5.2.3 · rails/rails – GitHub
ExceptionWrapper
ミドルウェアで扱いやすいように例外をラップするクラス
参考:
ActionDispatch::ExceptionWrapper | Ruby on Rails API [Official]
rails/exception_wrapper.rb at v5.2.3 · rails/rails – GitHub
ビューテンプレート
開発時のデバッグ画面用のビューテンプレート
参考:
rescue_template – ActionDispatch::ExceptionWrapper | Ruby on Rails API [Official]
rescue_templates – rails/exception_wrapper.rb at v5.2.3 · rails/rails – GitHub
rails/rescues at v5.2.3 · rails/rails – GitHub
rails/routes at v5.2.3 · rails/rails – GitHub
BacktraceCleaner
バックトレースを整形したり、不要な項目を除去したりするフィルタリング用のクラス
参考:
backtrace_cleaner – Rails | Ruby on Rails API [Official]
Rails::BacktraceCleaner | Ruby on Rails API [Official]
Rails::Console::BacktraceCleaner | Ruby on Rails API [Official]
ActiveSupport::BacktraceCleaner | Ruby on Rails API [Official]
rails/backtrace_cleaner.rb (rails) at 5-2-stable · rails/rails – GitHub
rails/backtrace_cleaner.rb (active_support) at 5-2-stable · rails/rails – GitHub
backtrace_cleaner
Rack ミドルウェアには ActionDispatch
からリクエストヘッダーの action_dispatch.backtrace_cleaner
の項目として、Rails アプリケーションに定義された Rails.backtrace_cleaner
が渡される。
ミドルウェア内でリクエストから backtreace_cleaner
を取り出す。
request = ActionDispatch::Request.new(env) backtrace_cleaner = request.get_header("action_dispatch.backtrace_cleaner")
参考:
backtrace_cleaner – rails/application.rb at v5.2.3 · rails/rails – GitHub
backtrace_cleaner – rails/rails.rb at v5.2.3 · rails/rails – GitHub