rubycfn 0.1.3 → 0.1.4

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: 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