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