Sha256: 9d44bc0fb7b1f7856bbc2c9342920a1529d3c168b7659b280016a28af39cf113

Contents?: true

Size: 995 Bytes

Versions: 40

Compression:

Stored size: 995 Bytes

Contents

require 'vagrant/util/template_renderer'

module Vagrant
  module Action
    module VM
      # Puts a generated Vagrantfile into the package directory so that
      # it can be included in the package.
      class PackageVagrantfile
        # For TemplateRenderer
        include Util

        def initialize(app, env)
          @app = app
          @env = env
        end

        def call(env)
          @env = env
          create_vagrantfile
          @app.call(env)
        end

        # This method creates the auto-generated Vagrantfile at the root of the
        # box. This Vagrantfile contains the MAC address so that the user doesn't
        # have to worry about it.
        def create_vagrantfile
          File.open(File.join(@env["export.temp_dir"], "Vagrantfile"), "w") do |f|
            f.write(TemplateRenderer.render("package_Vagrantfile", {
              :base_mac => @env["vm"].driver.read_mac_address
            }))
          end
        end
      end
    end
  end
end

Version data entries

40 entries across 40 versions & 6 rubygems

Version Path
bmhatfield-vagrant-1.0.10 lib/vagrant/action/vm/package_vagrantfile.rb
bmhatfield-vagrant-1.0.9 lib/vagrant/action/vm/package_vagrantfile.rb
bmhatfield-vagrant-1.0.8 lib/vagrant/action/vm/package_vagrantfile.rb
bmhatfield-vagrant-1.0.7 lib/vagrant/action/vm/package_vagrantfile.rb
vagrantup-1.0.7 lib/vagrant/action/vm/package_vagrantfile.rb
vagrantup-1.0.6 lib/vagrant/action/vm/package_vagrantfile.rb
vagrantup-1.0.5 lib/vagrant/action/vm/package_vagrantfile.rb
vagrantup-1.0.4 lib/vagrant/action/vm/package_vagrantfile.rb
vagrantup-1.0.3 lib/vagrant/action/vm/package_vagrantfile.rb
vagrantup-1.0.2 lib/vagrant/action/vm/package_vagrantfile.rb
vagrantup-1.0.1 lib/vagrant/action/vm/package_vagrantfile.rb
vagrantup-1.0.0 lib/vagrant/action/vm/package_vagrantfile.rb
vagrantup-0.9.99.2 lib/vagrant/action/vm/package_vagrantfile.rb
vagrantup-0.9.99.1 lib/vagrant/action/vm/package_vagrantfile.rb
vagrantup-0.9.7 lib/vagrant/action/vm/package_vagrantfile.rb
vagrantup-0.9.6 lib/vagrant/action/vm/package_vagrantfile.rb
vagrantup-0.9.5 lib/vagrant/action/vm/package_vagrantfile.rb
vagrantup-0.9.4 lib/vagrant/action/vm/package_vagrantfile.rb
vagrantup-0.9.3 lib/vagrant/action/vm/package_vagrantfile.rb
vagrantup-0.9.2 lib/vagrant/action/vm/package_vagrantfile.rb