rspec-terraform 0.1.0.pre.28 → 0.1.0.pre.29

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: 1c8f792e87abefbea94694f0fee81efbae81c54361681352b5f37860a8daad4e
4
- data.tar.gz: c95be85f8b07bde0d80fb42c0324b17a0a3973cfd51b29ad025bd377cb0470fe
3
+ metadata.gz: 5e55352476dacb18e34b558e31841082a57ea7346231070704828a53906c13e4
4
+ data.tar.gz: 2dc5422ca3e43486d352c70e6eb54c925056cbfd9c0dd218d694b5b986849be8
5
5
  SHA512:
6
- metadata.gz: d17f25036ba285de0d641952ad1ed0b04bf74cebb87d42125631a2eeb725f2a7da8606a156afe82aa695447c9ccb9ce1629cfde833a89cba8fb5c248690ab03b
7
- data.tar.gz: 750c207d47f2066f53f76ddc03d072d391163f7312ca83859c3880d9e12e7c0f36f8b28ce941256d8cdc06f5486d4e4fc9b0d56e6274f31f0d3c1013218b5d90
6
+ metadata.gz: 4f2018a33c956861d6a7168468d5de6e226f14ab06f7698247b7632d857f0bba588d752c7125ce5c867ec40f13d6a3a0cfb86a2bb522de72d66b2e34e7ff3af4
7
+ data.tar.gz: a2efa64dfcf801c6c345c40a4810a095f94ed50224d02a98fed8f989eac62e7dc5d2d4c46456beb56b95bdae41e0a10bc7da957f8094d29a55ae00b89c798c3f
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rspec-terraform (0.1.0.pre.28)
4
+ rspec-terraform (0.1.0.pre.29)
5
5
  rspec (>= 3.0)
6
6
  ruby-terraform (= 1.7.0.pre.15)
7
7
 
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../configuration/var_captor'
4
+
5
+ module RSpec
6
+ module Terraform
7
+ module Helpers
8
+ class Var
9
+ attr_reader(:overrides, :configuration_provider)
10
+
11
+ def initialize(overrides = {}, configuration_provider = nil)
12
+ @overrides = overrides
13
+ @configuration_provider =
14
+ configuration_provider || Configuration.identity_provider
15
+ end
16
+
17
+ def execute(&block)
18
+ parameters = with_configuration_provider_parameters(overrides)
19
+ parameters = with_resolved_vars(parameters, &block)
20
+
21
+ parameters[:vars][parameters[:name].to_sym]
22
+ end
23
+
24
+ private
25
+
26
+ def with_configuration_provider_parameters(parameters)
27
+ configuration_provider.resolve(parameters)
28
+ end
29
+
30
+ def with_resolved_vars(parameters, &block)
31
+ return parameters unless block_given?
32
+
33
+ var_captor = Configuration::VarCaptor.new(parameters[:vars] || {})
34
+ block.call(var_captor)
35
+ parameters.merge(vars: var_captor.to_h)
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -4,6 +4,7 @@ require_relative './helpers/apply'
4
4
  require_relative './helpers/destroy'
5
5
  require_relative './helpers/plan'
6
6
  require_relative './helpers/output'
7
+ require_relative './helpers/var'
7
8
 
8
9
  module RSpec
9
10
  module Terraform
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RSpec
4
4
  module Terraform
5
- VERSION = '0.1.0.pre.28'
5
+ VERSION = '0.1.0.pre.29'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-terraform
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.pre.28
4
+ version: 0.1.0.pre.29
5
5
  platform: ruby
6
6
  authors:
7
7
  - InfraBlocks Maintainers
@@ -290,6 +290,7 @@ files:
290
290
  - lib/rspec/terraform/helpers/destroy.rb
291
291
  - lib/rspec/terraform/helpers/output.rb
292
292
  - lib/rspec/terraform/helpers/plan.rb
293
+ - lib/rspec/terraform/helpers/var.rb
293
294
  - lib/rspec/terraform/matchers.rb
294
295
  - lib/rspec/terraform/matchers/include_output_change.rb
295
296
  - lib/rspec/terraform/matchers/include_resource_change.rb