lib/vagrant/commands/ssh.rb in vagrant-0.3.4 vs lib/vagrant/commands/ssh.rb in vagrant-0.4.0

- old
+ new

@@ -8,15 +8,37 @@ class SSH < Base Base.subcommand "ssh", self description "SSH into the currently running environment" def execute(args=[]) - env.require_persisted_vm - env.ssh.connect + args = parse_options(args) + ssh_connect(args[0]) end + def ssh_connect(name) + if name.nil? && env.multivm? + if env.primary_vm.nil? + error_and_exit(:ssh_multivm) + return # for tests + end + end + + vm = name.nil? ? env.primary_vm : env.vms[name.to_sym] + if vm.nil? + error_and_exit(:unknown_vm, :vm => name) + return # for tests + end + + if !vm.created? + error_and_exit(:environment_not_created) + return + else + vm.ssh.connect + end + end + def options_spec(opts) opts.banner = "Usage: vagrant ssh" end end end -end \ No newline at end of file +end