coral_core 0.2.15 → 0.2.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/coral_core.gemspec +1 -1
- data/lib/coral_core/template.rb +14 -4
- data/lib/coral_core/util/data.rb +5 -6
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.16
|
data/coral_core.gemspec
CHANGED
data/lib/coral_core/template.rb
CHANGED
@@ -13,21 +13,31 @@ module Template
|
|
13
13
|
|
14
14
|
def self.process(value)
|
15
15
|
case value
|
16
|
-
when String
|
17
|
-
return
|
16
|
+
when String, Symbol
|
17
|
+
return nil if Util::Data.undef?(value)
|
18
18
|
return 'false' if value == false
|
19
19
|
return 'true' if value == true
|
20
20
|
return value.to_s if value.is_a?(Symbol)
|
21
21
|
|
22
22
|
when Hash
|
23
|
+
results = {}
|
23
24
|
value.each do |key, item|
|
24
|
-
|
25
|
+
result = process(item)
|
26
|
+
unless result.nil?
|
27
|
+
results[key] = result
|
28
|
+
end
|
29
|
+
value = results
|
25
30
|
end
|
26
31
|
|
27
32
|
when Array
|
33
|
+
results = []
|
28
34
|
value.each_with_index do |item, index|
|
29
|
-
|
35
|
+
result = process(item)
|
36
|
+
unless result.nil?
|
37
|
+
results << result
|
38
|
+
end
|
30
39
|
end
|
40
|
+
value = results
|
31
41
|
end
|
32
42
|
return value
|
33
43
|
end
|
data/lib/coral_core/util/data.rb
CHANGED
@@ -104,14 +104,11 @@ class Data
|
|
104
104
|
|
105
105
|
# Special case because this method is called from within Config.new so we
|
106
106
|
# can not use Config.ensure, as that would cause an infinite loop.
|
107
|
-
force = force.is_a?(Coral::Config) ? force.get(:force,
|
108
|
-
|
109
|
-
#dbg(data, 'data')
|
107
|
+
force = force.is_a?(Coral::Config) ? force.get(:force, true) : force
|
110
108
|
|
111
109
|
if data.is_a?(Array)
|
112
110
|
value = data.shift
|
113
111
|
data.each do |item|
|
114
|
-
#dbg(item, 'item')
|
115
112
|
case value
|
116
113
|
when Hash
|
117
114
|
begin
|
@@ -120,7 +117,7 @@ class Data
|
|
120
117
|
|
121
118
|
rescue LoadError
|
122
119
|
if item.is_a?(Hash) # Non recursive top level by default.
|
123
|
-
value = value.merge(item)
|
120
|
+
value = value.merge(item)
|
124
121
|
elsif force
|
125
122
|
value = item
|
126
123
|
end
|
@@ -131,11 +128,13 @@ class Data
|
|
131
128
|
elsif force
|
132
129
|
value = item
|
133
130
|
end
|
131
|
+
|
132
|
+
when String, Symbol
|
133
|
+
value = item if item.is_a?(String) || item.is_a?(Symbol) || force
|
134
134
|
end
|
135
135
|
end
|
136
136
|
end
|
137
137
|
|
138
|
-
#dbg(value, 'value')
|
139
138
|
return value
|
140
139
|
end
|
141
140
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: coral_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 55
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 16
|
10
|
+
version: 0.2.16
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Adrian Webb
|