Class: Lumberjack::TemplateRegistry
- Inherits:
-
Object
- Object
- Lumberjack::TemplateRegistry
- Defined in:
- lib/lumberjack/template_registry.rb
Class Method Summary collapse
-
.add(name, template) ⇒ Object
Register a log template class with a symbol.
-
.registered?(name) ⇒ Boolean
Check if a template is registered.
-
.registered_templates ⇒ Array<Symbol>
List all registered log template symbols.
-
.remove(name) ⇒ void
Remove a template from the registry.
-
.template(name, options = {}) ⇒ Class?
Get a registered log template class by its symbol.
Class Method Details
.add(name, template) ⇒ Object
Register a log template class with a symbol.
12 13 14 15 16 17 18 |
# File 'lib/lumberjack/template_registry.rb', line 12 def add(name, template) unless template.is_a?(String) || template.is_a?(Class) || template.respond_to?(:call) raise ArgumentError.new("template must be a String, Class, or respond to :call") end @templates[name.to_sym] = template end |
.registered?(name) ⇒ Boolean
Check if a template is registered.
32 33 34 |
# File 'lib/lumberjack/template_registry.rb', line 32 def registered?(name) @templates.include(name.to_sym) end |
.registered_templates ⇒ Array<Symbol>
List all registered log template symbols.
55 56 57 |
# File 'lib/lumberjack/template_registry.rb', line 55 def registered_templates @templates.dup end |
.remove(name) ⇒ void
This method returns an undefined value.
Remove a template from the registry. raise ArgumentError.new(“template must be a String, Class, or respond to :call”)
24 25 26 |
# File 'lib/lumberjack/template_registry.rb', line 24 def remove(name) @templates.delete(name.to_sym) end |
.template(name, options = {}) ⇒ Class?
Get a registered log template class by its symbol.
40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/lumberjack/template_registry.rb', line 40 def template(name, = {}) template = @templates[name.to_sym] if template.is_a?(Class) template.new() elsif template.is_a?(String) = .slice(:additional_lines, :time_format, :attribute_format, :colorize) Template.new(template, **) else template end end |