module Kitchen::Terraform::ConfigAttributeType::HashOfSymbolsAndStrings

This modules applies the behaviour of a configuration attribute of type hash of symbols and strings to a module which must be included by a plugin class.

@see dry-rb.org/gems/dry-validation/basics/working-with-schemas/ DRY Validation Working With Schemas

Public Class Methods

apply(attribute:, config_attribute:, default_value:) click to toggle source

This method applies the configuration attribute behaviour to a module.

@param attribute [Symbol] the symbol corresponding to the configuration attribute. @param config_attribute [Module] a module. @param default_value [Proc] a proc which returns the default value. @return [self]

# File lib/kitchen/terraform/config_attribute_type/hash_of_symbols_and_strings.rb, line 35
def self.apply(attribute:, config_attribute:, default_value:)
  ::Kitchen::Terraform::ConfigAttribute.new(
    attribute: attribute,
    default_value: default_value,
    schema: ::Kitchen::Terraform::ConfigAttributeContract::HashOfSymbolsAndStrings.new,
  ).apply config_attribute: config_attribute

  self
end