class Kitchen::Terraform::Command::InitFactory

InitFactory is the class of objects which build Init objects.

Attributes

requirement[RW]
version[RW]

Public Class Methods

new(version:) click to toggle source

initialize prepares a new instance of the class

@param version [Gem::Version] a client version. @return [Kitchen::Terraform::Command::InitFactory]

# File lib/kitchen/terraform/command/init_factory.rb, line 41
def initialize(version:)
  self.requirement = ::Gem::Requirement.new "< 0.15.0"
  self.version = version
end

Public Instance Methods

build(config:) click to toggle source

build creates a new instance of an Init object.

@param config [Hash] the configuration of the driver. @return [Kitchen::Terraform::Command::Init::PreZeroFifteenZero,

Kitchen::Terraform::Command::Init::PostZeroFifteenZero]
# File lib/kitchen/terraform/command/init_factory.rb, line 31
def build(config:)
  return ::Kitchen::Terraform::Command::Init::PreZeroFifteenZero.new config: config if requirement.satisfied_by? version

  ::Kitchen::Terraform::Command::Init::PostZeroFifteenZero.new config: config
end