class VagrantPlugins::ProviderLibvirt::Action::CleanMachineFolder

Public Class Methods

new(app, env, options=nil) click to toggle source
# File lib/vagrant-libvirt/action/clean_machine_folder.rb, line 9
def initialize(app, env, options=nil)
  @logger = Log4r::Logger.new('vagrant_libvirt::action::create_domain')
  @app = app
  @ui = env[:ui]
  @quiet = (options || {}).fetch(:quiet, false)
end

Public Instance Methods

call(env) click to toggle source
# File lib/vagrant-libvirt/action/clean_machine_folder.rb, line 16
def call(env)
  machine_folder = env[:machine].data_dir

  @ui.info("Deleting the machine folder") unless @quiet

  @logger.debug("Recursively removing: #{machine_folder}")
  FileUtils.rm_rf(machine_folder, :secure => true)
  # need to recreate to prevent exception during a cancelled up
  FileUtils.mkdir_p(machine_folder)

  @app.call(env)
end