lib/rspec/terraform/helpers/actions/destroy.rb in rspec-terraform-0.1.0.pre.47 vs lib/rspec/terraform/helpers/actions/destroy.rb in rspec-terraform-0.1.0.pre.48
- old
+ new
@@ -10,15 +10,37 @@
module Actions
module Destroy
include CommandInstantiation
def destroy(parameters)
- destroy_command.execute(destroy_parameters(parameters))
+ parameters = destroy_parameters(parameters)
+
+ log_destroy_starting(parameters)
+ log_destroy_using_parameters(parameters)
+
+ destroy_command.execute(parameters)
+
+ log_destroy_complete
end
private
+ def log_destroy_starting(parameters)
+ logger&.info(
+ 'Destroying for configuration in directory: ' \
+ "'#{parameters[:chdir]}'..."
+ )
+ end
+
+ def log_destroy_using_parameters(parameters)
+ logger&.debug("Destroying using parameters: #{parameters}...")
+ end
+
+ def log_destroy_complete
+ logger&.info('Destroy complete.')
+ end
+
def destroy_command
instantiate_command(RubyTerraform::Commands::Destroy)
end
def destroy_parameters(parameters)
@@ -26,19 +48,26 @@
with_destroy_standard_parameters(parameters)
)
end
def with_destroy_standard_parameters(parameters)
- parameters.merge(
- chdir: parameters[:configuration_directory],
- input: false,
- auto_approve: true
- )
+ configuration_directory = parameters[:configuration_directory]
+
+ parameters
+ .except(:configuration_directory)
+ .merge(
+ chdir: configuration_directory,
+ input: false,
+ auto_approve: true
+ )
end
def with_destroy_state_file_parameters(parameters)
- if parameters[:state_file]
- return parameters.merge(state: parameters[:state_file])
+ state_file = parameters[:state_file]
+ if state_file
+ return parameters
+ .except(:state_file)
+ .merge(state: state_file)
end
parameters
end
end