Module: CovLoupe::ErrorHandlerFactory
- Defined in:
- lib/cov_loupe/errors/error_handler_factory.rb
Overview
Factory methods for creating ErrorHandler instances tuned to each operating mode.
The factory pattern ensures each mode gets consistent defaults:
- CLI: :log mode (errors logged, no stack traces unless requested)
- Library: :off mode (no logging side effects, let consumers handle errors)
- MCP Server: :log mode (errors logged for server debugging)
Class Method Summary collapse
-
.for_cli(error_mode: :log) ⇒ Object
Error handler for CLI usage - Logs errors for debugging - Shows stack traces only when explicitly requested - Suitable for user-facing command line interface.
-
.for_library(error_mode: :off) ⇒ Object
Error handler for library usage - No logging by default (avoids side effects in consuming applications) - No stack traces (libraries should let consumers handle error display) - Suitable for embedding in other applications.
-
.for_mcp_server(error_mode: :log) ⇒ Object
Error handler for MCP server usage - Logs errors for server debugging - Shows stack traces only when explicitly requested - Suitable for long-running server processes.
Class Method Details
.for_cli(error_mode: :log) ⇒ Object
Error handler for CLI usage
- Logs errors for debugging
- Shows stack traces only when explicitly requested
- Suitable for user-facing command line interface
17 18 19 |
# File 'lib/cov_loupe/errors/error_handler_factory.rb', line 17 def self.for_cli(error_mode: :log) ErrorHandler.new(error_mode: error_mode) end |
.for_library(error_mode: :off) ⇒ Object
Error handler for library usage
- No logging by default (avoids side effects in consuming applications)
- No stack traces (libraries should let consumers handle error display)
- Suitable for embedding in other applications
25 26 27 |
# File 'lib/cov_loupe/errors/error_handler_factory.rb', line 25 def self.for_library(error_mode: :off) ErrorHandler.new(error_mode: error_mode) end |
.for_mcp_server(error_mode: :log) ⇒ Object
Error handler for MCP server usage
- Logs errors for server debugging
- Shows stack traces only when explicitly requested
- Suitable for long-running server processes
33 34 35 |
# File 'lib/cov_loupe/errors/error_handler_factory.rb', line 33 def self.for_mcp_server(error_mode: :log) ErrorHandler.new(error_mode: error_mode) end |