Class: Makit::Logging::FormatRegistry
- Inherits:
-
Object
- Object
- Makit::Logging::FormatRegistry
- Defined in:
- lib/makit/logging/format_registry.rb
Overview
Registry for managing available log formatters
Provides a centralized way to register, retrieve, and manage formatters by name. This allows for easy extension and configuration of formatters.
Class Attribute Summary collapse
-
.formatters ⇒ Hash
readonly
Registered formatters.
Class Method Summary collapse
-
.available_formats ⇒ Array<Symbol>
Get all available formatter names.
-
.clear ⇒ void
Clear all registered formatters.
-
.get(name) ⇒ Class
Get a formatter class by name.
-
.register(name, formatter_class) ⇒ void
Register a formatter class with a name.
-
.register_built_ins ⇒ void
Register built-in formatters.
-
.registered?(name) ⇒ Boolean
Check if a formatter is registered.
Class Attribute Details
.formatters ⇒ Hash (readonly)
Returns registered formatters.
22 23 24 |
# File 'lib/makit/logging/format_registry.rb', line 22 def formatters @formatters end |
Class Method Details
.available_formats ⇒ Array<Symbol>
Get all available formatter names
45 46 47 |
# File 'lib/makit/logging/format_registry.rb', line 45 def available_formats @formatters.keys end |
.clear ⇒ void
This method returns an undefined value.
Clear all registered formatters
60 61 62 |
# File 'lib/makit/logging/format_registry.rb', line 60 def clear @formatters.clear end |
.get(name) ⇒ Class
Get a formatter class by name
38 39 40 |
# File 'lib/makit/logging/format_registry.rb', line 38 def get(name) @formatters[name.to_sym] || raise(ArgumentError, "Unknown formatter: #{name}") end |
.register(name, formatter_class) ⇒ void
This method returns an undefined value.
Register a formatter class with a name
29 30 31 |
# File 'lib/makit/logging/format_registry.rb', line 29 def register(name, formatter_class) @formatters[name.to_sym] = formatter_class end |
.register_built_ins ⇒ void
This method returns an undefined value.
Register built-in formatters
67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/makit/logging/format_registry.rb', line 67 def register_built_ins require_relative "formatters/json_formatter" require_relative "formatters/text_formatter" require_relative "formatters/plain_text_formatter" require_relative "formatters/console_formatter" register(:json, Formatters::JsonFormatter) register(:text, Formatters::TextFormatter) register(:plain, Formatters::PlainTextFormatter) register(:console, Formatters::ConsoleFormatter) end |
.registered?(name) ⇒ Boolean
Check if a formatter is registered
53 54 55 |
# File 'lib/makit/logging/format_registry.rb', line 53 def registered?(name) @formatters.key?(name.to_sym) end |