Class: Kabk::Registry
- Inherits:
-
Object
- Object
- Kabk::Registry
- Defined in:
- lib/kabk/registry.rb
Overview
Thread-safe registry for managing registered resources
Class Method Summary collapse
Instance Method Summary collapse
-
#all ⇒ Array<Kabk::Resource>
Get all registered resources.
-
#clear ⇒ Object
Clear registry (useful for testing).
-
#get(name) ⇒ Kabk::Resource?
Retrieve a resource by name.
-
#initialize ⇒ Registry
constructor
A new instance of Registry.
-
#register(resource) ⇒ Object
Register a new resource.
Constructor Details
#initialize ⇒ Registry
Returns a new instance of Registry.
13 14 15 |
# File 'lib/kabk/registry.rb', line 13 def initialize @resources = Concurrent::Map.new end |
Class Method Details
.instance ⇒ Registry
9 10 11 |
# File 'lib/kabk/registry.rb', line 9 def self.instance @instance ||= new end |
Instance Method Details
#all ⇒ Array<Kabk::Resource>
Get all registered resources
32 33 34 |
# File 'lib/kabk/registry.rb', line 32 def all @resources.values end |
#clear ⇒ Object
Clear registry (useful for testing)
37 38 39 |
# File 'lib/kabk/registry.rb', line 37 def clear @resources.clear end |
#get(name) ⇒ Kabk::Resource?
Retrieve a resource by name
26 27 28 |
# File 'lib/kabk/registry.rb', line 26 def get(name) @resources[name.to_sym] end |
#register(resource) ⇒ Object
Register a new resource
19 20 21 |
# File 'lib/kabk/registry.rb', line 19 def register(resource) @resources[resource.name.to_sym] = resource end |