Sart refactor duplicate classes
This commit is contained in:
parent
8619267cd9
commit
5877e8fe22
|
@ -0,0 +1,37 @@
|
||||||
|
require "fileutils"
|
||||||
|
require_relative "package"
|
||||||
|
|
||||||
|
module Vagrant
|
||||||
|
module Action
|
||||||
|
module General
|
||||||
|
class PackageSetupFolders
|
||||||
|
include Vagrant::Util::Presence
|
||||||
|
|
||||||
|
def initialize(app, env)
|
||||||
|
@app = app
|
||||||
|
end
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
def recover(env)
|
||||||
|
dir = env["package.directory"]
|
||||||
|
if File.exist?(dir)
|
||||||
|
FileUtils.rm_rf(dir)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -1,36 +1,16 @@
|
||||||
require "fileutils"
|
require "fileutils"
|
||||||
|
|
||||||
require_relative "../../../../lib/vagrant/action/general/package"
|
require_relative "../../../../lib/vagrant/action/general/package_setup_folders"
|
||||||
|
|
||||||
module VagrantPlugins
|
module VagrantPlugins
|
||||||
module HyperV
|
module HyperV
|
||||||
module Action
|
module Action
|
||||||
class PackageSetupFolders
|
class PackageSetupFolders < Vagrant::Action::General::PackageSetupFolders
|
||||||
include Vagrant::Util::Presence
|
# Doing this so that we can test that the parent is properly
|
||||||
|
# called in the unit tests.
|
||||||
def initialize(app, env)
|
alias_method :general_call, :call
|
||||||
@app = app
|
|
||||||
end
|
|
||||||
|
|
||||||
def call(env)
|
def call(env)
|
||||||
env["package.output"] ||= "package.box"
|
general_call(env)
|
||||||
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
|
|
||||||
|
|
||||||
def recover(env)
|
|
||||||
dir = env["package.directory"]
|
|
||||||
if File.exist?(dir)
|
|
||||||
FileUtils.rm_rf(dir)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue