Module: Olelo::Factory
- Included in:
- Repository, User::Service
- Defined in:
- lib/olelo/util.rb
Instance Method Summary collapse
Instance Method Details
#[](name) ⇒ Object
31 32 33 |
# File 'lib/olelo/util.rb', line 31 def [](name) registry[name.to_s] || raise(NameError, "Implementation '#{name}' for '#{self.name}' not found") end |
#register(name, klass) ⇒ Object
25 26 27 28 29 |
# File 'lib/olelo/util.rb', line 25 def register(name, klass) name = name.to_s raise(ArgumentError, "Implementation '#{name}' already exists for '#{self.name}'") if registry.key?(name) registry[name] = klass end |
#registry ⇒ Object
21 22 23 |
# File 'lib/olelo/util.rb', line 21 def registry @registry ||= superclass.try(:registry) || {} end |