humidifier 1.8.0 → 1.9.1.1

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.
@@ -2,20 +2,28 @@ module Humidifier
2
2
  # Represents a CFN stack
3
3
  class Stack
4
4
  # Single settings on the stack
5
- STATIC_RESOURCES = Utils.underscored(%w[AWSTemplateFormatVersion Description Metadata])
5
+ STATIC_RESOURCES =
6
+ Utils.underscored(%w[AWSTemplateFormatVersion Description Metadata])
6
7
 
7
8
  # Lists of objects linked to the stack
8
- ENUMERABLE_RESOURCES = Utils.underscored(%w[Conditions Mappings Outputs Parameters Resources])
9
+ ENUMERABLE_RESOURCES =
10
+ Utils.underscored(%w[Conditions Mappings Outputs Parameters Resources])
9
11
 
10
- attr_accessor :id, :name, *ENUMERABLE_RESOURCES.values, *STATIC_RESOURCES.values
12
+ attr_accessor :id
13
+ attr_reader(:name, *ENUMERABLE_RESOURCES.values, *STATIC_RESOURCES.values)
11
14
 
12
15
  def initialize(opts = {})
13
- self.name = opts[:name]
14
- self.id = opts[:id]
15
- self.default_identifier = self.class.next_default_identifier
16
+ @name = opts[:name]
17
+ @id = opts[:id]
18
+ @default_identifier = self.class.next_default_identifier
16
19
 
17
- ENUMERABLE_RESOURCES.each_value { |prop| send(:"#{prop}=", opts.fetch(prop, {})) }
18
- STATIC_RESOURCES.each_value { |prop| send(:"#{prop}=", opts[prop]) }
20
+ ENUMERABLE_RESOURCES.each_value do |property|
21
+ instance_variable_set(:"@#{property}", opts.fetch(property, {}))
22
+ end
23
+
24
+ STATIC_RESOURCES.each_value do |property|
25
+ instance_variable_set(:"@#{property}", opts[property])
26
+ end
19
27
  end
20
28
 
21
29
  # Add a resource to the stack and optionally set its attributes
@@ -25,7 +33,8 @@ module Humidifier
25
33
  resource
26
34
  end
27
35
 
28
- # The identifier used by the shim to find the stack in CFN, prefers id to name
36
+ # The identifier used by the shim to find the stack in CFN, prefers id to
37
+ # name
29
38
  def identifier
30
39
  id || name || default_identifier
31
40
  end
@@ -42,12 +51,15 @@ module Humidifier
42
51
 
43
52
  %i[condition mapping output parameter].each do |resource_type|
44
53
  define_method(:"add_#{resource_type}") do |name, opts = {}|
45
- send(:"#{resource_type}s")[name] = Humidifier.const_get(resource_type.capitalize).new(opts)
54
+ send(:"#{resource_type}s")[name] =
55
+ Humidifier.const_get(resource_type.capitalize).new(opts)
46
56
  end
47
57
  end
48
58
 
49
59
  AwsShim::STACK_METHODS.each do |method|
50
- define_method(method) { |opts = {}| AwsShim.send(method, SdkPayload.new(self, opts)) }
60
+ define_method(method) do |opts = {}|
61
+ AwsShim.send(method, SdkPayload.new(self, opts))
62
+ end
51
63
  end
52
64
 
53
65
  # Increment the default identifier
@@ -59,12 +71,13 @@ module Humidifier
59
71
 
60
72
  private
61
73
 
62
- attr_accessor :default_identifier
74
+ attr_reader :default_identifier
63
75
 
64
76
  def enumerable_resources
65
77
  ENUMERABLE_RESOURCES.each_with_object({}) do |(name, prop), list|
66
78
  resources = send(prop)
67
79
  next if resources.empty?
80
+
68
81
  list[name] =
69
82
  resources.map do |resource_name, resource|
70
83
  [resource_name, resource.to_cf]
@@ -1,4 +1,4 @@
1
1
  module Humidifier
2
2
  # Gem version
3
- VERSION = '1.8.0'.freeze
3
+ VERSION = '1.9.1.1'.freeze
4
4
  end
data/lib/humidifier.rb CHANGED
@@ -9,9 +9,9 @@ require 'humidifier/ref'
9
9
  require 'humidifier/props'
10
10
 
11
11
  require 'humidifier/props/base'
12
- %w[boolean double integer json list map string structure timestamp].each do |type|
13
- require "humidifier/props/#{type}_prop"
14
- end
12
+
13
+ prop_types = %w[boolean double integer json list map string structure timestamp]
14
+ prop_types.each { |type| require "humidifier/props/#{type}_prop" }
15
15
 
16
16
  require 'humidifier/aws_shim'
17
17
  require 'humidifier/condition'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: humidifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.0
4
+ version: 1.9.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Localytics
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-30 00:00:00.000000000 Z
11
+ date: 2017-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.15'
19
+ version: '1.16'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.15'
26
+ version: '1.16'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: minitest
29
29
  requirement: !ruby/object:Gem::Requirement