rubycfn 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1ca4d16404669aefd3141d45382ca88c36306349
4
- data.tar.gz: e012a63d00655869a3b39a327a68a0d0edb91649
3
+ metadata.gz: 8d3bb0549114b2978a3e788c4f5654636014003a
4
+ data.tar.gz: 35f1181efaf15646c991ae3811e396b641391d0d
5
5
  SHA512:
6
- metadata.gz: bdf0aabb7203a4b145e96ad5354c616ecba0cf42f81ee3eda9cc841fdc3d5bd6714aa51ac012f9744f14be8342889cd6f3dff0f8ed7c63acf9e2cf2fd4c185d9
7
- data.tar.gz: 70a0af0a34f4dc6483ef1faf38e00f685d57011d5de380c717e6ac55b9944eaf3c604e73bd89a6b4cfb2bf6603350d434e48431fa88fef7b3817dccc969b5c11
6
+ metadata.gz: b66d1cf5a142433cb396022bc407ae51e85709607ee4a4e3a355f2a2b64fc14c4bde9f7d54779e79c8a88724e513412c06484e9f1695275aaf468a79badc660f
7
+ data.tar.gz: 124c708a9a158022f196c85c6bd45b311376bcb5663ec291d4afeb03e1323676358eadac2c9e4177121943333c1c899f5dd7e6e38761df9135a0c1565b61b643
data/CHANGELOG.md ADDED
@@ -0,0 +1,23 @@
1
+ # Change Log
2
+ All notable changes to Rubycfn will be documented in this file.
3
+ This project uses [Semantic Versioning](http://semver.org/).
4
+
5
+ ## 0.1.5 (Next Release)
6
+
7
+ ## 0.1.4
8
+ * Made resource names overridable from within resource block with `_id` resource method. -- [@dennisvink][@dennisvink]
9
+
10
+ ## 0.1.3
11
+ * Fixed incorrect property name in generated default project -- [@dennisvink][@dennisvink]
12
+
13
+ ## 0.1.2
14
+ * Added VPC to default project -- [@dennisvink][@dennisvink]
15
+ * Pass original resource name to compound resources -- [@dennisvink][@dennisvink]
16
+ * Prefix environment name to outputted json stack -- [@dennisvink][@dennisvink]
17
+ * Added support for mappings and Fn::FindInMap -- [@dennisvink][@dennisvink]
18
+
19
+ ## 0.1.1
20
+ * Added Rubycfn CLI to generate new projects -- [@dennisvink][@dennisvink]
21
+
22
+ [@dennisvink]: https://github.com/dennisvink
23
+
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rubycfn (0.1.3)
4
+ rubycfn (0.1.4)
5
5
  activesupport (~> 5.1.5)
6
6
  dotenv (~> 2.4.0)
7
7
  json (~> 2.1.0)
data/README.md CHANGED
@@ -12,7 +12,7 @@ or, create a Gemfile with this content:
12
12
  ```
13
13
  source "https://rubygems.org"
14
14
 
15
- gem "rubycfn", "~> 0.1.3"
15
+ gem "rubycfn", "~> 0.1.4"
16
16
 
17
17
  ```
18
18
 
@@ -1,4 +1,4 @@
1
1
  # Rubycfn version
2
2
  module Rubycfn
3
- VERSION = "0.1.3"
3
+ VERSION = "0.1.4"
4
4
  end
data/lib/rubycfn.rb CHANGED
@@ -1,9 +1,10 @@
1
1
  # Rubycfn RubyCFN is a light-weight CloudFormation DSL
2
- require "neatjson"
2
+ require 'active_support/concern'
3
+ require "compound/resources"
3
4
  require "json"
5
+ require "neatjson"
4
6
  require "rubycfn/version"
5
- require "compound/resources"
6
- require 'active_support/concern'
7
+ #require "tasks/tasks"
7
8
 
8
9
  @depends_on = []
9
10
  @description = ""
@@ -12,6 +13,7 @@ require 'active_support/concern'
12
13
  @properties = {}
13
14
  @mappings = {}
14
15
  @resources = {}
16
+ @resource_name = ""
15
17
  @variables = {}
16
18
  @global_variables = {}
17
19
 
@@ -232,6 +234,10 @@ module Rubycfn
232
234
  TOPLEVEL_BINDING.eval("@depends_on = #{resources}")
233
235
  end
234
236
 
237
+ def self._id(name)
238
+ TOPLEVEL_BINDING.eval("@resource_name = '#{name}'")
239
+ end
240
+
235
241
  def self.set(name, index = 0, &block)
236
242
  res = {
237
243
  "#{name}": yield
@@ -255,8 +261,15 @@ module Rubycfn
255
261
  send("include", arguments[:type][origname, resource_suffix, &block])
256
262
  else
257
263
  yield self, i if block_given?
264
+
265
+ resource_postpend = TOPLEVEL_BINDING.eval("@resource_name").empty? ? i+1 : ""
266
+ unless TOPLEVEL_BINDING.eval("@resource_name").empty?
267
+ name = TOPLEVEL_BINDING.eval("@resource_name")
268
+ TOPLEVEL_BINDING.eval("@resource_name = ''")
269
+ end
270
+
258
271
  res = {
259
- "#{name.to_s}#{i == 0 ? "" : i+1}": {
272
+ "#{name.to_s}#{i == 0 ? "" : resource_postpend}": {
260
273
  DependsOn: TOPLEVEL_BINDING.eval("@depends_on"),
261
274
  Properties: TOPLEVEL_BINDING.eval("@properties"),
262
275
  Type: arguments[:type]
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.1.3
4
+ version: 0.1.4
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-07-04 00:00:00.000000000 Z
11
+ date: 2018-07-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: neatjson
@@ -257,6 +257,7 @@ extensions: []
257
257
  extra_rdoc_files: []
258
258
  files:
259
259
  - ".gitignore"
260
+ - CHANGELOG.md
260
261
  - Gemfile
261
262
  - Gemfile.lock
262
263
  - README.md