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.
Edit
git clone [email protected]:mitchellh/vagrant.git
cd vagrant
open lib/vagrant.rb
Contribute
# Make a new branchgit checkout -b -your-name--update-docs-Vagrant-plugin-for-pr
# Commit to gitgit add lib/vagrant.rbgit commit -m "better docs for Vagrant.plugin"
# Open pull requestgem 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!