sparkle_formation 2.1.0 → 2.1.2
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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 79efaae651919d5ed404a9738852cb86b41c2057
|
4
|
+
data.tar.gz: 339d1d3eb57ef4e35c29ccd475f66b7d8942e9f1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c555423571e62575d59b4eb5022b0ff616a681b2b6a30419c3b0124f3a9f2ea5ee6063ef42d6479a7ed05d8b722338ef5db99016ee1ae025a0ab6e2dd8a2b2ae
|
7
|
+
data.tar.gz: f0bde668d2cc2e972e59f08369176dfaf1a84af468af72e0879dbb2e8e1475a16e06252ecd063a67877188fad556044385cff0415d7fa1592b1d65952f7efdc4
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
# v2.1.2
|
2
|
+
* Add helper for copying SparkleFormation::Collection settings
|
3
|
+
* Use collections helper to ensure expected pack ordering
|
4
|
+
* Add support for template location via path within SparkleFormation::Collection
|
5
|
+
|
1
6
|
# v2.1.0
|
2
7
|
* Add template inheritance support (#145)
|
3
8
|
* Add layer merging support for templates, components, and dynamics (#145)
|
@@ -16,6 +16,17 @@ class SparkleFormation
|
|
16
16
|
@sparkles = []
|
17
17
|
end
|
18
18
|
|
19
|
+
# Apply collection settings to this collection
|
20
|
+
#
|
21
|
+
# @param collection [SparkleFormation::Collection]
|
22
|
+
# @return [self]
|
23
|
+
# @note will overwrite existing set packs
|
24
|
+
def apply(collection)
|
25
|
+
@root = collection.sparkles.last
|
26
|
+
@sparkles = collection.sparkles.slice(0, collection.sparkles.length - 1) || []
|
27
|
+
self
|
28
|
+
end
|
29
|
+
|
19
30
|
# Set the root sparkle which forces highest precedence
|
20
31
|
#
|
21
32
|
# @param sparkle [Sparkle]
|
@@ -132,6 +143,17 @@ class SparkleFormation
|
|
132
143
|
result = nil
|
133
144
|
error = nil
|
134
145
|
result = send(type_name)[name]
|
146
|
+
if(result.nil? && type_name == 'templates')
|
147
|
+
t_direct = sparkles.map do |pack|
|
148
|
+
begin
|
149
|
+
pack.get(:template, name)
|
150
|
+
rescue Error::NotFound
|
151
|
+
end
|
152
|
+
end.compact.last
|
153
|
+
if(t_direct)
|
154
|
+
result = send(type_name)[t_direct[:name]]
|
155
|
+
end
|
156
|
+
end
|
135
157
|
unless(result)
|
136
158
|
error_klass = Error::NotFound.const_get(
|
137
159
|
Bogo::Utility.camel(type)
|
@@ -286,11 +286,7 @@ class SparkleFormation
|
|
286
286
|
type struct._self.stack_resource_type
|
287
287
|
end
|
288
288
|
unless(struct._self.sparkle.empty?)
|
289
|
-
struct._self.sparkle
|
290
|
-
nested_template.sparkle.add_sparkle(
|
291
|
-
struct._self.sparkle.sparkle_at(idx)
|
292
|
-
)
|
293
|
-
end
|
289
|
+
nested_template.sparkle.apply(struct._self.sparkle)
|
294
290
|
end
|
295
291
|
struct.resources[resource_name].properties.stack nested_template
|
296
292
|
if(block_given?)
|
@@ -501,9 +497,7 @@ class SparkleFormation
|
|
501
497
|
if(provider != template.provider)
|
502
498
|
raise TypeError.new "This template `#{name}` cannot inherit template `#{template.name}`! Provider mismatch: `#{provider}` != `#{template.provider}`" # rubocop:disable Metrics/LineLength
|
503
499
|
end
|
504
|
-
sparkle.
|
505
|
-
template.sparkle.add_sparkle(sparkle.sparkle_at(idx))
|
506
|
-
end
|
500
|
+
template.sparkle.apply(sparkle)
|
507
501
|
template.seed_self
|
508
502
|
blacklisted_templates.replace(
|
509
503
|
(blacklisted_templates + template.blacklisted_templates).map(&:to_s).uniq
|