vagrant
https://github.com/mitchellh/vagrant
Ruby
Vagrant is a tool for building and distributing development environments.
Vagrant::Machine#communicate
Returns a communication object for executing commands on the remote machine. Note that the _exact_ semantics of this are up to the communication provider itself. Despite this, the semantics are expected to be consistent across operating systems. For example, all linux-based systems should have similar communication (usually a shell). All Windows systems should have similar communication as well. Therefore, prior to communicating with the machine, users of this method are expected to check the guest OS to determine their behavior. This method will _always_ return some valid communication object. The `ready?` API can be used on the object to check if communication is actually ready.
Edit
git clone [email protected]:mitchellh/vagrant.git
cd vagrant
open lib/vagrant/machine.rb
Contribute
# Make a new branchgit checkout -b -your-name--update-docs-Vagrant--Machine-communicate-for-pr
# Commit to gitgit add lib/vagrant/machine.rbgit commit -m "better docs for Vagrant::Machine#communicate"
# Open pull requestgem install hub # on a mac you can `brew install hub`
hub fork
git push <your name> -your-name--update-docs-Vagrant--Machine-communicate-for-pr
hub pull-request
# Celebrate!