Class: Krikri::Registry
- Inherits:
-
Object
- Object
- Krikri::Registry
- Includes:
- Enumerable, Singleton
- Defined in:
- lib/krikri/registry.rb
Overview
Provide a registry of defined items that can be looked up by a token symbol.
Expected to be extended as needed within other modules.
Instance Attribute Summary collapse
-
#items ⇒ Object
readonly
Returns the value of attribute items.
Class Method Summary collapse
- .get(name) ⇒ Object
- .keys ⇒ Object
- .register(name, item) ⇒ Object
- .register!(name, item) ⇒ Object
- .registered?(name) ⇒ Boolean
Instance Method Summary collapse
-
#initialize ⇒ Registry
constructor
A new instance of Registry.
Constructor Details
#initialize ⇒ Registry
Returns a new instance of Registry.
18 19 20 |
# File 'lib/krikri/registry.rb', line 18 def initialize @items = {} end |
Instance Attribute Details
#items ⇒ Object (readonly)
Returns the value of attribute items.
15 16 17 |
# File 'lib/krikri/registry.rb', line 15 def items @items end |
Class Method Details
.get(name) ⇒ Object
24 25 26 27 |
# File 'lib/krikri/registry.rb', line 24 def get(name) raise "#{name} is not registered." unless registered? name instance[name] end |
.keys ⇒ Object
42 43 44 |
# File 'lib/krikri/registry.rb', line 42 def keys instance.items.keys end |
.register(name, item) ⇒ Object
29 30 31 32 |
# File 'lib/krikri/registry.rb', line 29 def register(name, item) raise "#{name} is already registered." if registered? name register!(name, item) end |
.register!(name, item) ⇒ Object
34 35 36 |
# File 'lib/krikri/registry.rb', line 34 def register!(name, item) instance[name] = item end |
.registered?(name) ⇒ Boolean
38 39 40 |
# File 'lib/krikri/registry.rb', line 38 def registered?(name) instance.items.keys.include? name end |