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.

Source | Google | Stack overflow

Edit

git clone [email protected]:mitchellh/vagrant.git

cd vagrant

open lib/vagrant/machine.rb

Contribute

# Make a new branch

git checkout -b -your-name--update-docs-Vagrant--Machine-communicate-for-pr


# Commit to git

git add lib/vagrant/machine.rbgit commit -m "better docs for Vagrant::Machine#communicate"


# Open pull request

gem 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!