module Kitchen::Terraform::ConfigAttributeType::Integer

This module applies the behaviour of a configuration attribute of type integer 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/integer.rb, line 36
def self.apply(attribute:, config_attribute:, default_value:)
  ::Kitchen::Terraform::ConfigAttribute
    .new(
      attribute: attribute,
      default_value: default_value,
      schema: ::Kitchen::Terraform::ConfigAttributeContract::Integer.new,
    ).apply config_attribute: config_attribute

  self
end