Module: Xing::Services::ClassRegistry::ClassMethods

Defined in:
lib/xing/services/class_registry.rb

Instance Method Summary collapse

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

#registryObject



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