plugins/providers/virtualbox/action/package_setup_files.rb in vagrant-unbundled-1.9.1.1 vs plugins/providers/virtualbox/action/package_setup_files.rb in vagrant-unbundled-1.9.5.1
- old
+ new
@@ -1,50 +1,15 @@
+require_relative "../../../../lib/vagrant/action/general/package_setup_files"
+
module VagrantPlugins
module ProviderVirtualBox
module Action
- class PackageSetupFiles
- def initialize(app, env)
- @app = app
-
- env["package.include"] ||= []
- env["package.vagrantfile"] ||= nil
- end
-
+ class PackageSetupFiles < Vagrant::Action::General::PackageSetupFiles
+ # Doing this so that we can test that the parent is properly
+ # called in the unit tests.
+ alias_method :general_call, :call
def call(env)
- files = {}
- env["package.include"].each do |file|
- source = Pathname.new(file)
- dest = nil
-
- # If the source is relative then we add the file as-is to the include
- # directory. Otherwise, we copy only the file into the root of the
- # include directory. Kind of strange, but seems to match what people
- # expect based on history.
- if source.relative?
- dest = source
- else
- dest = source.basename
- end
-
- # Assign the mapping
- files[file] = dest
- end
-
- if env["package.vagrantfile"]
- # Vagrantfiles are treated special and mapped to a specific file
- files[env["package.vagrantfile"]] = "_Vagrantfile"
- end
-
- # Verify the mapping
- files.each do |from, _|
- raise Vagrant::Errors::PackageIncludeMissing,
- file: from if !File.exist?(from)
- end
-
- # Save the mapping
- env["package.files"] = files
-
- @app.call(env)
+ general_call(env)
end
end
end
end
end