1
0
Fork 0
mirror of https://github.com/capistrano/capistrano synced 2023-03-27 23:21:18 -04:00
capistrano/features/support/vagrant_helpers.rb
2016-03-01 09:51:47 -06:00

36 lines
798 B
Ruby

require "English"
module VagrantHelpers
extend self
class VagrantSSHCommandError < RuntimeError; end
at_exit do
if ENV["KEEP_RUNNING"]
puts "Vagrant vm will be left up because KEEP_RUNNING is set."
puts "Rerun without KEEP_RUNNING set to cleanup the vm."
else
vagrant_cli_command("destroy -f")
end
end
def vagrant_cli_command(command)
puts "[vagrant] #{command}"
Dir.chdir(VAGRANT_ROOT) do
`#{VAGRANT_BIN} #{command} 2>&1`.split("\n").each do |line|
puts "[vagrant] #{line}"
end
end
$CHILD_STATUS
end
def run_vagrant_command(command)
if (status = vagrant_cli_command("ssh -c #{command.inspect}")).success?
true
else
fail VagrantSSHCommandError, status
end
end
end
World(VagrantHelpers)