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

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

Returns:

  • (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

Raises:

  • (ArgumentError)


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_categoriesObject



21
22
23
# File 'lib/legion/logging/category_registry.rb', line 21

def registered_categories
  registry.dup.freeze
end