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
49
50
51
52
53
|
# File 'lib/prefab/config_resolver.rb', line 49
def _get(key)
@lock.with_read_lock do
@local_store[key]
end
end
|
#get(property) ⇒ Object
39
40
41
42
|
# File 'lib/prefab/config_resolver.rb', line 39
def get(property)
config = _get(property)
config ? value_of(config[:value]) : nil
end
|
#get_config(property) ⇒ Object
44
45
46
47
|
# File 'lib/prefab/config_resolver.rb', line 44
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
37
|
# File 'lib/prefab/config_resolver.rb', line 18
def to_s
str = "\n"
@lock.with_read_lock do
@local_store.keys.sort.each do |k|
v = @local_store[k]
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
55
56
57
|
# File 'lib/prefab/config_resolver.rb', line 55
def update
make_local
end
|