Class: RubyTerraform::Commands::Clean

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_terraform/commands/clean.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(directory: nil, logger: nil) ⇒ Clean

Returns a new instance of Clean.



8
9
10
11
# File 'lib/ruby_terraform/commands/clean.rb', line 8

def initialize(directory: nil, logger: nil)
  @directory = directory ? directory : '.terraform'
  @logger = logger || RubyTerraform.configuration.logger
end

Instance Attribute Details

#loggerObject (readonly)

Returns the value of attribute logger.



6
7
8
# File 'lib/ruby_terraform/commands/clean.rb', line 6

def logger
  @logger
end

Instance Method Details

#execute(opts = {}) ⇒ Object



13
14
15
16
17
18
19
20
21
# File 'lib/ruby_terraform/commands/clean.rb', line 13

def execute(opts = {})
  directory = opts[:directory] || @directory
  begin
    logger.info "Cleaning terraform directory '#{directory}'."
    FileUtils.rm_r(directory, :secure => true)
  rescue Errno::ENOENT => e
    logger.error "Couldn't clean '#{directory}': #{e.message}"
  end
end