Class: Identitee::Identifiables
- Inherits:
-
Object
- Object
- Identitee::Identifiables
- Defined in:
- lib/identitee/identifiables.rb
Instance Method Summary collapse
- #all ⇒ Object
- #find(key, *default_values, &block) ⇒ Object
- #find_key(instance) ⇒ Object
-
#initialize ⇒ Identifiables
constructor
A new instance of Identifiables.
- #register(key, instance) ⇒ Object
Constructor Details
#initialize ⇒ Identifiables
Returns a new instance of Identifiables.
5 6 7 |
# File 'lib/identitee/identifiables.rb', line 5 def initialize @instances = {} end |
Instance Method Details
#all ⇒ Object
29 30 31 |
# File 'lib/identitee/identifiables.rb', line 29 def all instances.values end |
#find(key, *default_values, &block) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/identitee/identifiables.rb', line 13 def find key, *default_values, &block instances.fetch key.to_s do if block block.call key elsif default_values.length > 0 default_values.first else raise ::Identitee::IdentifiableNotFound end end end |
#find_key(instance) ⇒ Object
25 26 27 |
# File 'lib/identitee/identifiables.rb', line 25 def find_key instance instances.invert.fetch(instance, nil) end |
#register(key, instance) ⇒ Object
9 10 11 |
# File 'lib/identitee/identifiables.rb', line 9 def register key, instance instances[key.to_s] = instance end |