lib/registry.rb in regstry-1.0.5 vs lib/registry.rb in regstry-1.0.6

- old
+ new

@@ -46,10 +46,14 @@ def [](key) key && objects[key.to_sym] || raise(UnknownKey, MSGS[:unknown] % [key, objects.keys.sort]) end + def delete(key) + objects.delete(key) + end + def objects @objects ||= {} end def clear @@ -74,9 +78,14 @@ attr_reader :registry_key def register(key, obj = self) obj.instance_variable_set(:@registry_key, key) registry[key] = obj + end + + def unregister(obj = self) + registry.delete(obj.registry_key) + obj.remove_instance_variable(:@registry_key) end def registered?(key) registry.key?(key && key.to_sym) end