rubycfn 0.0.11 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|