Class: Prefab::ConfigResolver
- Inherits:
-
Object
- Object
- Prefab::ConfigResolver
show all
- Includes:
- ConfigHelper
- Defined in:
- lib/prefab/config_resolver.rb
Constant Summary
collapse
- NAMESPACE_DELIMITER =
"."
Instance Attribute Summary collapse
Instance Method Summary
collapse
#value_of, #value_of_variant
Constructor Details
#initialize(base_client, config_loader) ⇒ ConfigResolver
Returns a new instance of ConfigResolver.
9
10
11
12
13
14
15
16
|
# File 'lib/prefab/config_resolver.rb', line 9
def initialize(base_client, config_loader)
@lock = Concurrent::ReadWriteLock.new
@local_store = {}
@namespace = base_client.options.namespace
@config_loader = config_loader
@project_env_id = 0
make_local
end
|
Instance Attribute Details
#project_env_id ⇒ Object
this will be set by the config_client when it gets an API response
7
8
9
|
# File 'lib/prefab/config_resolver.rb', line 7
def project_env_id
@project_env_id
end
|
Instance Method Details
#_get(key) ⇒ Object
48
49
50
51
52
|
# File 'lib/prefab/config_resolver.rb', line 48
def _get(key)
@lock.with_read_lock do
@local_store[key]
end
end
|
#get(property) ⇒ Object
38
39
40
41
|
# File 'lib/prefab/config_resolver.rb', line 38
def get(property)
config = _get(property)
config ? value_of(config[:value]) : nil
end
|
#get_config(property) ⇒ Object
43
44
45
46
|
# File 'lib/prefab/config_resolver.rb', line 43
def get_config(property)
config = _get(property)
config ? config[:config] : nil
end
|
#to_s ⇒ Object
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/prefab/config_resolver.rb', line 18
def to_s
str = "\n"
@lock.with_read_lock do
@local_store.each do |k, v|
elements = [k.slice(0..49).ljust(50)]
if v.nil?
elements << "tombstone"
else
value = v[:value]
elements << value_of(value).to_s.slice(0..34).ljust(35)
elements << value_of(value).class.to_s.slice(0..6).ljust(7)
elements << "Match: #{v[:match]}".slice(0..29).ljust(30)
elements << "Source: #{v[:source]}"
end
str += elements.join(" | ") << "\n"
end
end
str
end
|
#update ⇒ Object
54
55
56
|
# File 'lib/prefab/config_resolver.rb', line 54
def update
make_local
end
|