tfw 0.1.16 → 0.1.18

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
  SHA256:
3
- metadata.gz: 810ea20c2c8e59f8b72f15731770a8114529f82c8e47ae6af90155dfc90718bb
4
- data.tar.gz: 755bf3f821643fecbf02804af9306365683114bf486b092f4de44f11eca3006d
3
+ metadata.gz: 2544e1ed35e5d535f5cac872822058d04c4e85d3cbe59592d5f55acc81eb5157
4
+ data.tar.gz: 49aad68781ee80ea39d0063793d10eaf28017e4c88e4e8094d3a7ec655b2bb74
5
5
  SHA512:
6
- metadata.gz: d2d7003ab15174b658e8e4075a6a054ca0d00dc455ab3e69051b6173673627e7743d0cc18d925ea7f8a79f38f9fa886f29383052ae7b1445ef7f396224d7cb07
7
- data.tar.gz: 2040765f80f3126b135a6b9e8c9e547e5e4ae5abce2c1e2f96677a682dd5cec3e19eed15666a8055fcc280e6e176db3decc58c73db326b8ce44d61f5f516b347
6
+ metadata.gz: 2cabd9b6b95ad622131b7af0e7a87bec948947e0c25e3d8c6ee3e6339af2ea995496adb4bde8573b856c4d24f9057bc3d8d9e2d1c9eec695398871d6f6bd5d86
7
+ data.tar.gz: ad583cffacd86ac2b0f0f875d47dfcd7781ac92f29861373b4636f19c7ba6f633686e96476158c26eaeedcdeff8d3b95cf69f80e1f5077bc0ec33673e37b5747
data/.rubocop.yml CHANGED
@@ -14,6 +14,7 @@ Metrics/AbcSize:
14
14
  Exclude:
15
15
  - lib/**/formatter.rb
16
16
  - lib/**/data_formatter.rb
17
+ - lib/**/aws_asg_workaround.rb
17
18
  Metrics/MethodLength:
18
19
  Max: 35
19
20
  Metrics/LineLength:
data/Gemfile.lock CHANGED
@@ -1,60 +1,67 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tfw (0.1.16)
4
+ tfw (0.1.17)
5
5
  tfdsl (= 0.1.11)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- ast (2.4.0)
11
- coderay (1.1.2)
12
- coveralls (0.8.22)
10
+ ast (2.4.2)
11
+ coderay (1.1.3)
12
+ coveralls (0.8.23)
13
13
  json (>= 1.8, < 3)
14
14
  simplecov (~> 0.16.1)
15
15
  term-ansicolor (~> 1.3)
16
- thor (~> 0.19.4)
16
+ thor (>= 0.19.4, < 2.0)
17
17
  tins (~> 1.6)
18
- deep_merge (1.2.1)
19
- docile (1.3.1)
20
- jaro_winkler (1.5.4)
21
- json (2.3.1)
22
- method_source (0.9.2)
23
- minitest (5.12.2)
24
- parallel (1.19.1)
25
- parser (2.7.0.2)
26
- ast (~> 2.4.0)
27
- pry (0.12.2)
28
- coderay (~> 1.1.0)
29
- method_source (~> 0.9.0)
30
- rainbow (3.0.0)
31
- rake (13.0.1)
32
- rubocop (0.79.0)
33
- jaro_winkler (~> 1.5.1)
18
+ deep_merge (1.2.2)
19
+ docile (1.4.0)
20
+ json (2.6.3)
21
+ method_source (1.0.0)
22
+ minitest (5.17.0)
23
+ parallel (1.22.1)
24
+ parser (3.2.0.0)
25
+ ast (~> 2.4.1)
26
+ pry (0.14.2)
27
+ coderay (~> 1.1)
28
+ method_source (~> 1.0)
29
+ rainbow (3.1.1)
30
+ rake (13.0.6)
31
+ regexp_parser (2.6.2)
32
+ rexml (3.2.5)
33
+ rubocop (0.93.1)
34
34
  parallel (~> 1.10)
35
- parser (>= 2.7.0.1)
35
+ parser (>= 2.7.1.5)
36
36
  rainbow (>= 2.2.2, < 4.0)
37
+ regexp_parser (>= 1.8)
38
+ rexml
39
+ rubocop-ast (>= 0.6.0)
37
40
  ruby-progressbar (~> 1.7)
38
- unicode-display_width (>= 1.4.0, < 1.7)
39
- ruby-progressbar (1.10.1)
41
+ unicode-display_width (>= 1.4.0, < 2.0)
42
+ rubocop-ast (1.24.1)
43
+ parser (>= 3.1.1.0)
44
+ ruby-progressbar (1.11.0)
40
45
  simplecov (0.16.1)
41
46
  docile (~> 1.1)
42
47
  json (>= 1.8, < 3)
43
48
  simplecov-html (~> 0.10.0)
44
49
  simplecov-html (0.10.2)
50
+ sync (0.5.0)
45
51
  term-ansicolor (1.7.1)
46
52
  tins (~> 1.0)
47
53
  tfdsl (0.1.11)
48
54
  deep_merge (~> 1.2)
49
- thor (0.19.4)
50
- tins (1.20.2)
51
- unicode-display_width (1.6.1)
55
+ thor (1.2.1)
56
+ tins (1.32.1)
57
+ sync
58
+ unicode-display_width (1.8.0)
52
59
 
53
60
  PLATFORMS
54
61
  ruby
55
62
 
56
63
  DEPENDENCIES
57
- bundler (~> 1.17)
64
+ bundler (~> 2.1)
58
65
  coveralls (~> 0.8)
59
66
  minitest (~> 5.0)
60
67
  pry (~> 0.12)
@@ -63,4 +70,4 @@ DEPENDENCIES
63
70
  tfw!
64
71
 
65
72
  BUNDLED WITH
66
- 1.17.2
73
+ 2.1.4
@@ -24,15 +24,22 @@ module TFW
24
24
  def replace_and_fill(obj, key)
25
25
  backup = obj[key]
26
26
  fill_fields(backup)
27
- obj[key] = [backup]
27
+ obj[key] = [backup] unless backup.is_a? Array
28
+ obj[key] = backup if backup.is_a? Array
28
29
  end
29
30
 
30
31
  def fill_fields(obj)
31
- obj['description'] = '' unless obj.key? 'description'
32
- obj['security_groups'] = [] unless obj.key? 'security_groups'
33
- obj['self'] = false unless obj.key? 'self'
34
- obj['ipv6_cidr_blocks'] = [] unless obj.key? 'ipv6_cidr_blocks'
35
- obj['prefix_list_ids'] = [] unless obj.key? 'prefix_list_ids'
32
+ list = []
33
+ list = obj if obj.is_a? Array
34
+ list << obj unless obj.is_a? Array
35
+
36
+ list.each do |e|
37
+ e['description'] = '' unless e.key? 'description'
38
+ e['security_groups'] = [] unless e.key? 'security_groups'
39
+ e['self'] = false unless e.key? 'self'
40
+ e['ipv6_cidr_blocks'] = [] unless e.key? 'ipv6_cidr_blocks'
41
+ e['prefix_list_ids'] = [] unless e.key? 'prefix_list_ids'
42
+ end
36
43
  end
37
44
  end
38
45
  end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TFW
4
+ # Dynamically create stack methods
5
+ module CreateStackMethods
6
+ def create_stack_methods
7
+ stack = TFW::State.instance.stack
8
+ %w[provider variable locals tfmodule datasource resource output terraform].each do |name|
9
+ define_method(name) { |*args, &block| stack.method(name).call(*args, &block) }
10
+ end
11
+ end
12
+ end
13
+
14
+ # This class carries stack methods, use it through inheritance class SomeClass < StackMethods
15
+ class StackMethods
16
+ extend CreateStackMethods
17
+ create_stack_methods
18
+ end
19
+ end
data/lib/tfw/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module TFW
4
- VERSION = '0.1.16'
4
+ VERSION = '0.1.18'
5
5
  end
data/lib/tfw.rb CHANGED
@@ -14,6 +14,7 @@ module TFW
14
14
 
15
15
  require "#{LIB_DIR}/setters"
16
16
  require "#{LIB_DIR}/module"
17
+ require "#{LIB_DIR}/stack_methods"
17
18
  require "#{LIB_DIR}/aws_sg_workaround"
18
19
 
19
20
  WORKSPACE = './.tfw'
data/tfw.gemspec CHANGED
@@ -37,7 +37,7 @@ Gem::Specification.new do |spec|
37
37
 
38
38
  spec.add_dependency 'tfdsl', '0.1.11'
39
39
 
40
- spec.add_development_dependency 'bundler', '~> 1.17'
40
+ spec.add_development_dependency 'bundler', '~> 2.1'
41
41
  spec.add_development_dependency 'coveralls', '~> 0.8'
42
42
  spec.add_development_dependency 'minitest', '~> 5.0'
43
43
  spec.add_development_dependency 'pry', '~> 0.12'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tfw
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.16
4
+ version: 0.1.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tiago Lopo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-10-15 00:00:00.000000000 Z
11
+ date: 2023-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tfdsl
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.17'
33
+ version: '2.1'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.17'
40
+ version: '2.1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: coveralls
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -135,6 +135,7 @@ files:
135
135
  - lib/tfw/aws_sg_workaround.rb
136
136
  - lib/tfw/module.rb
137
137
  - lib/tfw/setters.rb
138
+ - lib/tfw/stack_methods.rb
138
139
  - lib/tfw/state.rb
139
140
  - lib/tfw/version.rb
140
141
  - tfw.gemspec
@@ -158,7 +159,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
158
159
  - !ruby/object:Gem::Version
159
160
  version: '0'
160
161
  requirements: []
161
- rubygems_version: 3.1.2
162
+ rubygems_version: 3.1.6
162
163
  signing_key:
163
164
  specification_version: 4
164
165
  summary: Terraform Wrapper using Terraform DSL for Ruby