hiera-router 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/hiera/backend/router_backend.rb +17 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f008fd079d6bf63f1a897eb53b1d42338152aa6b
|
4
|
+
data.tar.gz: adcbbf85adce23472dc99cfcf36689711a9f26a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7674d2308f350a7a1defddca3acf39025f1faf745dc9a9a18088366e815d25b091016ec20323b7dff84921bceee47f5a9870689e4472c40f548b5ecd4ba5a973
|
7
|
+
data.tar.gz: 4e208e39b5841e419d394ad4df518829a3db737844bd5cca2d878c6445fe1213ebbf04470057601a9eadf79a74a91c01b6703885141bf4fd3314c451ff3d88e9
|
@@ -67,7 +67,19 @@ class Hiera
|
|
67
67
|
return answer
|
68
68
|
end
|
69
69
|
|
70
|
-
def
|
70
|
+
def hash_key(hash, path)
|
71
|
+
puts hash.inspect
|
72
|
+
puts path.join('>')
|
73
|
+
my_hash = hash
|
74
|
+
path.each do |key|
|
75
|
+
my_hash = my_hash[key] if my_hash.include?(key)
|
76
|
+
end
|
77
|
+
|
78
|
+
puts "result: #{my_hash}"
|
79
|
+
return my_hash
|
80
|
+
end
|
81
|
+
|
82
|
+
def parse_answer(data, scope, options, path = [])
|
71
83
|
if data.is_a?(Numeric) or data.is_a?(TrueClass) or data.is_a?(FalseClass)
|
72
84
|
return data
|
73
85
|
elsif data.is_a?(String)
|
@@ -76,7 +88,8 @@ class Hiera
|
|
76
88
|
answer = {}
|
77
89
|
data.each_pair do |key, val|
|
78
90
|
interpolated_key = Backend.parse_string(key, scope)
|
79
|
-
|
91
|
+
subpath = path + [interpolated_key]
|
92
|
+
answer[interpolated_key] = hash_key(parse_answer(val, scope, options, subpath), subpath)
|
80
93
|
end
|
81
94
|
|
82
95
|
return answer
|
@@ -99,7 +112,8 @@ class Hiera
|
|
99
112
|
if backend = backends[backend_name]
|
100
113
|
result = backend.lookup(backend_options[:key], backend_options[:scope], nil, backend_options[:resolution_type])
|
101
114
|
else
|
102
|
-
|
115
|
+
Hiera.warn "Backend '#{backend_name}' was not configured; returning the data as-is."
|
116
|
+
result = data
|
103
117
|
end
|
104
118
|
Hiera.debug("[hiera-router] Call to '#{backend_name}' finished.")
|
105
119
|
return result
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hiera-router
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jo Vandeginste
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-
|
12
|
+
date: 2016-07-04 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: |
|
15
15
|
This hiera backend replaces the default yaml backend, but will resend queries to other hiera backends based on the value returned by the yaml files.
|