Class: Yoda::Store::Registry::Index::ComposerWrapper
- Inherits:
-
Object
- Object
- Yoda::Store::Registry::Index::ComposerWrapper
show all
- Extended by:
- Forwardable
- Includes:
- MissingDelegatable
- Defined in:
- lib/yoda/store/registry/index.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
#delegate_missing_target, included, #method_missing, #respond_to_missing?
Constructor Details
#initialize(index:, composer:) ⇒ ComposerWrapper
Returns a new instance of ComposerWrapper.
21
22
23
24
25
26
|
# File 'lib/yoda/store/registry/index.rb', line 21
def initialize(index:, composer:)
fail TypeError, "index must be an instance of Registry::Index but #{index}" unless index.is_a?(Registry::Index)
fail TypeError, "composer must be an instance of Registry::Composer but #{composer}" unless composer.is_a?(Registry::Composer)
@index = index
@composer = composer
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class Yoda::MissingDelegatable
Instance Attribute Details
17
18
19
|
# File 'lib/yoda/store/registry/index.rb', line 17
def composer
@composer
end
|
14
15
16
|
# File 'lib/yoda/store/registry/index.rb', line 14
def index
@index
end
|
Instance Method Details
#add_registry(registry) ⇒ Object
35
36
37
38
39
40
41
|
# File 'lib/yoda/store/registry/index.rb', line 35
def add_registry(registry)
if old_registry = composer.get_registry(registry.id)
index.remove_registry(old_registry)
end
composer.add_registry(registry)
index.add_registry(registry)
end
|
31
32
33
|
# File 'lib/yoda/store/registry/index.rb', line 31
def get(address, registry_ids: nil)
composer.get(address, registry_ids: index.get(address, registry_ids: registry_ids))
end
|
#items ⇒ Enumerator<Object>
53
54
55
56
57
58
59
60
61
62
63
64
|
# File 'lib/yoda/store/registry/index.rb', line 53
def items
Enumerator.new do |y|
keys.each do |key|
value = get(key)
if value
y << value
else
Logger.warn("Not found value in registry for the key: #{key}")
end
end
end
end
|
#keys ⇒ Object
48
49
50
|
# File 'lib/yoda/store/registry/index.rb', line 48
def keys
index.keys
end
|
#remove_registry(registry) ⇒ Object
43
44
45
46
|
# File 'lib/yoda/store/registry/index.rb', line 43
def remove_registry(registry)
composer.remove_registry(registry)
index.remove_registry(registry)
end
|