class Vagrant::Action::General::PackageSetupFolders

Public Class Methods

new(app, env) click to toggle source
# File lib/vagrant/action/general/package_setup_folders.rb, line 10
def initialize(app, env)
  @app = app
end

Public Instance Methods

call(env) click to toggle source
# File lib/vagrant/action/general/package_setup_folders.rb, line 14
def call(env)
  env["package.output"] ||= "package.box"
  env["package.directory"] ||= Dir.mktmpdir("vagrant-package-", env[:tmp_path])

  # Match up a couple environmental variables so that the other parts of
  # Vagrant will do the right thing.
  env["export.temp_dir"] = env["package.directory"]

  Vagrant::Action::General::Package.validate!(
      env["package.output"], env["package.directory"])

  @app.call(env)
end
recover(env) click to toggle source
# File lib/vagrant/action/general/package_setup_folders.rb, line 28
def recover(env)
  dir = env["package.directory"]
  if File.exist?(dir)
    FileUtils.rm_rf(dir)
  end
end