Sha256: d4c3b24dedc52edf77ea6e5def8df0b85a12bfb0a6b113d9ff35f7f142a583a0
Contents?: true
Size: 1.08 KB
Versions: 2
Compression:
Stored size: 1.08 KB
Contents
# frozen_string_literal: true require_relative '../configuration/var_captor' module RSpec module Terraform module Helpers class Var attr_reader(:overrides, :configuration_provider) def initialize(overrides = {}, configuration_provider = nil) @overrides = overrides @configuration_provider = configuration_provider || Configuration.identity_provider end def execute(&block) parameters = with_configuration_provider_parameters(overrides) parameters = with_resolved_vars(parameters, &block) parameters[:vars][parameters[:name].to_sym] end private def with_configuration_provider_parameters(parameters) configuration_provider.resolve(parameters) end def with_resolved_vars(parameters, &block) return parameters unless block_given? var_captor = Configuration::VarCaptor.new(parameters[:vars] || {}) block.call(var_captor) parameters.merge(vars: var_captor.to_h) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rspec-terraform-0.1.0.pre.30 | lib/rspec/terraform/helpers/var.rb |
rspec-terraform-0.1.0.pre.29 | lib/rspec/terraform/helpers/var.rb |