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.
13 14 15 16 17 18 19 |
# File 'lib/lumberjack/template_registry.rb', line 13 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 @lock.synchronize { @templates[name.to_sym] = template } end |
.registered?(name) ⇒ Boolean
Check if a template is registered.
33 34 35 |
# File 'lib/lumberjack/template_registry.rb', line 33 def registered?(name) @lock.synchronize { @templates.include?(name.to_sym) } end |
.registered_templates ⇒ Array<Symbol>
List all registered log template symbols.
56 57 58 |
# File 'lib/lumberjack/template_registry.rb', line 56 def registered_templates @lock.synchronize { @templates.dup } end |
.remove(name) ⇒ void
This method returns an undefined value.
Remove a template from the registry.
25 26 27 |
# File 'lib/lumberjack/template_registry.rb', line 25 def remove(name) @lock.synchronize { @templates.delete(name.to_sym) } end |
.template(name, options = {}) ⇒ Class?
Get a registered log template class by its symbol.
41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/lumberjack/template_registry.rb', line 41 def template(name, = {}) template = @lock.synchronize { @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 |