rubycfn 0.0.11 → 0.1.0
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 +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +1 -1
- data/lib/rubycfn/version.rb +1 -1
- data/lib/rubycfn.rb +20 -8
- 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: 29062bf33bd5efb1396cbeceb1377db608577eaf
|
4
|
+
data.tar.gz: ce1c38eb6a9160a03ecc284fa17e6b80f2cdef8c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bcc956f265c0d06d16d1b2b53e06273c9abec57005ee83a2c50b13ce0016e4ee83a44452b49b3e7dc46f5b0081d5c365547d624f53efc01ebe8773cfdb93e5df
|
7
|
+
data.tar.gz: c7edb919f6eebee33003ea1ad8aa780e9d52e83708c7421828148fa20eb523d1855cc4f6317526e3257afc3542fb8136f984fcf36470ddb4a0101ac4dbe633e1
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
data/lib/rubycfn/version.rb
CHANGED
data/lib/rubycfn.rb
CHANGED
@@ -182,6 +182,13 @@ module Rubycfn
|
|
182
182
|
TOPLEVEL_BINDING.eval("@depends_on = #{resources}")
|
183
183
|
end
|
184
184
|
|
185
|
+
def self.set(name, index = 0, &block)
|
186
|
+
res = {
|
187
|
+
"#{name}": yield
|
188
|
+
}
|
189
|
+
TOPLEVEL_BINDING.eval("@variables = @variables.deep_merge(#{res})")
|
190
|
+
end
|
191
|
+
|
185
192
|
def self.property(name, index = 0, &block)
|
186
193
|
name = TOPLEVEL_BINDING.eval("'#{name}'.cfnize")
|
187
194
|
res = { "#{name}": yield(block) }
|
@@ -192,15 +199,20 @@ module Rubycfn
|
|
192
199
|
arguments[:amount] ||= 1
|
193
200
|
name = name.to_s.cfnize
|
194
201
|
arguments[:amount].times do |i|
|
195
|
-
|
196
|
-
|
197
|
-
"
|
198
|
-
|
199
|
-
|
200
|
-
|
202
|
+
resource_suffix = i == 0 ? "" : "#{i+1}"
|
203
|
+
if arguments[:type].class == Module
|
204
|
+
send("include", arguments[:type][name, resource_suffix, &block])
|
205
|
+
else
|
206
|
+
yield self, i if block_given?
|
207
|
+
res = {
|
208
|
+
"#{name.to_s}#{i == 0 ? "" : i+1}": {
|
209
|
+
DependsOn: TOPLEVEL_BINDING.eval("@depends_on"),
|
210
|
+
Properties: TOPLEVEL_BINDING.eval("@properties"),
|
211
|
+
Type: arguments[:type]
|
212
|
+
}
|
201
213
|
}
|
202
|
-
|
203
|
-
|
214
|
+
TOPLEVEL_BINDING.eval("@resources = @resources.deep_merge(#{res})")
|
215
|
+
end
|
204
216
|
end
|
205
217
|
TOPLEVEL_BINDING.eval("@depends_on = []")
|
206
218
|
TOPLEVEL_BINDING.eval("@properties = {}")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubycfn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dennis Vink
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-06-
|
11
|
+
date: 2018-06-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: neatjson
|