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

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