stax 0.0.12 → 0.0.13

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
  SHA256:
3
- metadata.gz: d7784301a9c81b43fc8ac2ff2d0917915aeab877ae0d2dfd9fb34e8519d2bda3
4
- data.tar.gz: '009e5e6c21cefa096aa091ddb8cfb6b2ce9a36ce0ac6bcdfaa3f7d60c5b70217'
3
+ metadata.gz: d019acd902c4e553be76d89cc052dc62988deb26aef77e504a9d09c1104cc1ea
4
+ data.tar.gz: fc3264f5d680f0bd53f2508d17b8fe5ab27c45d06e23d137435d1e7ea7bb2704
5
5
  SHA512:
6
- metadata.gz: aa084d28c3c33fbae1cb1e9328e9b220d301ec8598116e5cb2ef7ab2ecd354dfdcb271c9f4d9ee7aee877464c9de57bcf3ca51070d92fda8b2b004b6ecf6d1d4
7
- data.tar.gz: 460dbae75cb0caacc114fc0ef337b5abe7013724392d347e46906f454d9f6c5496f40bd2e435bd7ee09175fcdd3e3b6a4d5316056cfefce72fedd6c104be183e
6
+ metadata.gz: 14826ec6041b69b40f0853b0858c2bb41fd12eadeacc5189de977b22f6c1ea5831f9acd6d128dfc1f4737171276c449af36b0abdb3d39a916d95367a232875fa
7
+ data.tar.gz: 54341a7c15baa6d1b8299fee306b014dd6f647c85e14754bfe8ec2cb86cc72dedfdad602a8092f73dacf5c19082bb4476333513dbf147b42ce8830fca22899d0
data/lib/stax/stack.rb CHANGED
@@ -2,12 +2,15 @@ module Stax
2
2
  class Stack < Base
3
3
 
4
4
  no_commands do
5
+
6
+ ## get name of stack in Staxfile, or infer it from class
5
7
  def class_name
6
- @_class_name ||= self.class.to_s.split('::').last.downcase
8
+ @_class_name ||= self.class.instance_variable_get(:@name) || self.class.to_s.split('::').last.underscore
7
9
  end
8
10
 
11
+ ## build valid name for the stack
9
12
  def stack_name
10
- @_stack_name ||= stack_prefix + class_name
13
+ @_stack_name ||= stack_prefix + cfn_safe(class_name)
11
14
  end
12
15
 
13
16
  ## list of other stacks we need to reference
data/lib/stax/staxfile.rb CHANGED
@@ -38,7 +38,9 @@ module Stax
38
38
  ## add a stack by name, creates class as needed
39
39
  def self.add_stack(name, opt = {})
40
40
  @@_stack_list << name
41
- c = name.capitalize
41
+
42
+ ## camelize the stack name into class name
43
+ c = name.to_s.split(/[_-]/).map(&:capitalize).join
42
44
 
43
45
  ## create the class if it does not exist yet
44
46
  if self.const_defined?(c)
@@ -54,6 +56,7 @@ module Stax
54
56
  klass.include(self.const_get(i))
55
57
  end
56
58
 
59
+ klass.instance_variable_set(:@name, name)
57
60
  klass.instance_variable_set(:@imports, Array(opt.fetch(:import, [])))
58
61
  klass.instance_variable_set(:@type, opt.fetch(:type, nil))
59
62
  end
data/lib/stax/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Stax
2
- VERSION = '0.0.12'
2
+ VERSION = '0.0.13'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stax
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Lister
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-07 00:00:00.000000000 Z
11
+ date: 2019-04-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -270,8 +270,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
270
270
  - !ruby/object:Gem::Version
271
271
  version: '0'
272
272
  requirements: []
273
- rubyforge_project:
274
- rubygems_version: 2.7.6
273
+ rubygems_version: 3.0.3
275
274
  signing_key:
276
275
  specification_version: 4
277
276
  summary: Control Cloudformation stack and other stuff.