Module: Legion::Logging::CategoryRegistry
- Defined in:
- lib/legion/logging/category_registry.rb
Constant Summary collapse
- VALID_NAME_PATTERN =
/\A[a-z][a-z0-9]*(\.[a-z][a-z0-9]*)*\z/
Class Method Summary collapse
- .category_info(name) ⇒ Object
- .category_registered?(name) ⇒ Boolean
- .clear! ⇒ Object
- .register_category(name, description: nil, expected_fields: []) ⇒ Object
- .registered_categories ⇒ Object
Class Method Details
.category_info(name) ⇒ Object
29 30 31 |
# File 'lib/legion/logging/category_registry.rb', line 29 def category_info(name) registry[name.to_s] end |
.category_registered?(name) ⇒ Boolean
25 26 27 |
# File 'lib/legion/logging/category_registry.rb', line 25 def category_registered?(name) registry.key?(name.to_s) end |
.clear! ⇒ Object
33 34 35 |
# File 'lib/legion/logging/category_registry.rb', line 33 def clear! registry.clear end |
.register_category(name, description: nil, expected_fields: []) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/legion/logging/category_registry.rb', line 9 def register_category(name, description: nil, expected_fields: []) name = name.to_s raise ArgumentError, "invalid category name: #{name.inspect}" unless name.match?(VALID_NAME_PATTERN) registry[name] = { name: name, description: description, expected_fields: Array(expected_fields) }.freeze name end |
.registered_categories ⇒ Object
21 22 23 |
# File 'lib/legion/logging/category_registry.rb', line 21 def registered_categories registry.dup.freeze end |