Class: Semlogr::ComponentRegistry

Inherits:
Object
  • Object
show all
Defined in:
lib/semlogr/component_registry.rb

Class Method Summary collapse

Class Method Details

.register(type, mapping) ⇒ Object



7
8
9
# File 'lib/semlogr/component_registry.rb', line 7

def self.register(type, mapping)
  (@mappings[type] ||= {}).update(mapping)
end

.resolve(type, key, *params) ⇒ Object



11
12
13
14
15
16
# File 'lib/semlogr/component_registry.rb', line 11

def self.resolve(type, key, *params)
  mapping = @mappings[type] && @mappings[type][key]
  raise ComponentNotRegisteredError.new(type, key) unless mapping

  mapping.new(*params)
end