Module: Xing::Services::ClassRegistry::ClassMethods
- Defined in:
- lib/xing/services/class_registry.rb
Instance Method Summary collapse
- #register(name, klass = self) ⇒ Object
- #registry ⇒ Object
- #registry_get(name) ⇒ Object
- #registry_key(klass) ⇒ Object
Instance Method Details
#register(name, klass = self) ⇒ Object
9 10 11 12 |
# File 'lib/xing/services/class_registry.rb', line 9 def register(name, klass=self) raise "Invalid registration: #{name} exists" if registrar.registry.has_key?(name) && registrar.registry[name] != klass registrar.registry[name] = klass end |
#registry ⇒ Object
5 6 7 |
# File 'lib/xing/services/class_registry.rb', line 5 def registry @registry ||= {} end |
#registry_get(name) ⇒ Object
18 19 20 |
# File 'lib/xing/services/class_registry.rb', line 18 def registry_get(name) registrar.registry.fetch(name) end |
#registry_key(klass) ⇒ Object
14 15 16 |
# File 'lib/xing/services/class_registry.rb', line 14 def registry_key(klass) registrar.registry.select{ |key, val| val == klass}.keys.first end |