Sha256: 92b4aba898315ccde9d873d7ca7659b9e340569874e1bd9410350530b804993e

Contents?: true

Size: 773 Bytes

Versions: 40

Compression:

Stored size: 773 Bytes

Contents

module Vagrant
  module Action
    module VM
      class Halt
        def initialize(app, env, options=nil)
          @app = app
          env.merge!(options || {})
        end

        def call(env)
          if env[:vm].state == :running
            if !env["force"]
              env[:ui].info I18n.t("vagrant.actions.vm.halt.graceful")
              env[:vm].guest.halt
            end

            if env[:vm].state != :poweroff
              env[:ui].info I18n.t("vagrant.actions.vm.halt.force")
              env[:vm].driver.halt
            end

            # Sleep for a second to verify that the VM properly
            # cleans itself up
            sleep 1 if !env["vagrant.test"]
          end

          @app.call(env)
        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/halt.rb
bmhatfield-vagrant-1.0.9 lib/vagrant/action/vm/halt.rb
bmhatfield-vagrant-1.0.8 lib/vagrant/action/vm/halt.rb
bmhatfield-vagrant-1.0.7 lib/vagrant/action/vm/halt.rb
vagrantup-1.0.7 lib/vagrant/action/vm/halt.rb
vagrantup-1.0.6 lib/vagrant/action/vm/halt.rb
vagrantup-1.0.5 lib/vagrant/action/vm/halt.rb
vagrantup-1.0.4 lib/vagrant/action/vm/halt.rb
vagrantup-1.0.3 lib/vagrant/action/vm/halt.rb
vagrantup-1.0.2 lib/vagrant/action/vm/halt.rb
vagrantup-1.0.1 lib/vagrant/action/vm/halt.rb
vagrantup-1.0.0 lib/vagrant/action/vm/halt.rb
vagrantup-0.9.99.2 lib/vagrant/action/vm/halt.rb
vagrantup-0.9.99.1 lib/vagrant/action/vm/halt.rb
vagrantup-0.9.7 lib/vagrant/action/vm/halt.rb
vagrantup-0.9.6 lib/vagrant/action/vm/halt.rb
vagrantup-0.9.5 lib/vagrant/action/vm/halt.rb
vagrantup-0.9.4 lib/vagrant/action/vm/halt.rb
vagrantup-0.9.3 lib/vagrant/action/vm/halt.rb
vagrantup-0.9.2 lib/vagrant/action/vm/halt.rb