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

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: 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