vagrant

https://github.com/mitchellh/vagrant

Ruby

Vagrant is a tool for building and distributing development environments.

Vagrant.plugin

Returns a superclass to use when creating a plugin for Vagrant.
Given a specific version, this returns a proper superclass to use
to register plugins for that version.

Optionally, if you give a specific component, then it will return
the proper superclass for that component as well.

Plugins and plugin components should subclass the classes returned by
this method. This method lets Vagrant core control these superclasses
and change them over time without affecting plugins. For example, if
the V1 superclass happens to be "Vagrant::V1," future versions of
Vagrant may move it to "Vagrant::Plugins::V1" and plugins will not be
affected.

Source | Google | Stack overflow

Edit

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

cd vagrant

open lib/vagrant.rb

Contribute

# Make a new branch

git checkout -b -your-name--update-docs-Vagrant-plugin-for-pr


# Commit to git

git add lib/vagrant.rbgit commit -m "better docs for Vagrant.plugin"


# 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-plugin-for-pr

hub pull-request


# Celebrate!