ruby-terraform 1.7.0.pre.5 → 1.7.0.pre.6

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: 217cd4e1e90259bc9d0f95e069028b24149c2be6551cc3abead4919f8b78fcdb
4
- data.tar.gz: 4a000f48d0ec1ec0849067a9d3d2a8b00040b249f4fbe122ab456446ad299b65
3
+ metadata.gz: 6b05b45cc2b98cbf5b31abb8ba1dbec5577df4eafbe1b8509fcc67e340a4cd94
4
+ data.tar.gz: 7ca9d608ace6c9cb6969cd5a20ff8cb8cce4d2dcd818ddd7c16bef18689800ce
5
5
  SHA512:
6
- metadata.gz: 3942170c2c43e42608d61f3e2b3c25e5ad69f2c16334000fa53438ca8b38c0db6de59e72f51b97083958b96ff96a31772ee3012ee322a7d5905b32643032673d
7
- data.tar.gz: 8181782ea5a4d6d41849e913897f00a7d24eba5084e9984e0dede04baf354584a36dff5310a75ea120d50c27f70bd8fbca5c561d80fcd5d0a2c1c3561318e542
6
+ metadata.gz: b4a23f61538fb6c287684890e478f6ccc953843255e8fa8fa5eda4ea6ad0dd1701a81f450e1444a09b1d30fc4ca6433b251ef14a65260ab742268af262d60e89
7
+ data.tar.gz: 6175d49446d7cd61873a64199cc2589f9b82ce94b28028a5812c3e1e10bf6f780684ec040b5b561c2d1c6afa1ed6fc7e3d3fb9bf8c5013768dc63650ec1d35a2
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ruby-terraform (1.7.0.pre.5)
4
+ ruby-terraform (1.7.0.pre.6)
5
5
  immutable-struct (~> 2.4)
6
6
  lino (~> 3.0)
7
7
 
@@ -29,7 +29,7 @@ module RubyTerraform
29
29
  )
30
30
 
31
31
  def initialize(value, sensitive: false)
32
- @value = value
32
+ @value = value.transform_keys(&:to_sym)
33
33
  @sensitive = sensitive
34
34
  end
35
35
 
@@ -10,8 +10,9 @@ module RubyTerraform
10
10
  # rubocop:disable Style/RedundantAssignment
11
11
  def box(object, unknown: nil, sensitive: nil)
12
12
  initial = boxed_empty_by_value(object)
13
- unknown ||= native_empty_by_value(object)
14
- sensitive ||= native_empty_by_value(object)
13
+ object = symbolise(object)
14
+ unknown = symbolised_or_native_empty(unknown, object)
15
+ sensitive = symbolised_or_native_empty(sensitive, object)
15
16
 
16
17
  return Values.unknown(sensitive: sensitive) if unknown == true
17
18
 
@@ -171,11 +172,26 @@ module RubyTerraform
171
172
  def normalise(object)
172
173
  case object
173
174
  when Array then object.each_with_index.to_a
174
- when Hash then object.to_a.map { |e| [e[1], e[0]] }
175
+ when Hash
176
+ object.to_a.map do |e|
177
+ [e[1], e[0].to_sym]
178
+ end
179
+ else object
180
+ end
181
+ end
182
+
183
+ def symbolise(object)
184
+ case object
185
+ when Hash
186
+ object.to_h { |key, value| [key.to_sym, symbolise(value)] }
175
187
  else object
176
188
  end
177
189
  end
178
190
 
191
+ def symbolised_or_native_empty(object, target)
192
+ object ? symbolise(object) : native_empty_by_value(target)
193
+ end
194
+
179
195
  def root_path(paths)
180
196
  paths.count == 1 && paths[0].empty?
181
197
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RubyTerraform
4
- VERSION = '1.7.0.pre.5'
4
+ VERSION = '1.7.0.pre.6'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-terraform
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0.pre.5
4
+ version: 1.7.0.pre.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - InfraBlocks Maintainers
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-07-17 00:00:00.000000000 Z
11
+ date: 2022-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: immutable-struct