Sha256: 8020ea1631bb3008689391d8ca6c87ba9b3abc21756367502f8bef764d5c8394

Contents?: true

Size: 929 Bytes

Versions: 1

Compression:

Stored size: 929 Bytes

Contents

# frozen_string_literal: true

require 'ruby_terraform'

require_relative 'base'
require_relative 'actions'

module RSpec
  module Terraform
    module Helpers
      class Destroy < Base
        include Actions::ExecuteIfRequired
        include Actions::Validate
        include Actions::Clean
        include Actions::Init
        include Actions::Destroy

        def execute(overrides = {}, &)
          parameters = resolve_parameters(overrides, &)

          execute_if_required(:destroy, parameters) do
            validate(parameters)
            clean(parameters)
            init(parameters)
            destroy(parameters)
          end
        end

        private

        def required_parameters(execution_mode)
          {
            in_place: [:configuration_directory],
            isolated: %i[source_directory configuration_directory]
          }[execution_mode] || []
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rspec-terraform-0.5.0.pre.9 lib/rspec/terraform/helpers/destroy.rb