vagrant
https://github.com/mitchellh/vagrant
Ruby
Vagrant is a tool for building and distributing development environments.
Vagrant::Plugin::V2::Config#finalize!
This is called as a last-minute hook that allows the configuration object to finalize itself before it will be put into use. This is a useful place to do some defaults in the case the user didn't configure something or so on. An example of where this sort of thing is used or has been used: the "vm" configuration key uses this to make sure that at least one sub-VM has been defined: the default VM. The configuration object is expected to mutate itself.
Edit
git clone [email protected]:mitchellh/vagrant.git
cd vagrant
open lib/vagrant/plugin/v2/config.rb
Contribute
# Make a new branchgit checkout -b -your-name--update-docs-Vagrant--Plugin--V2--Config-finalize--for-pr
# Commit to gitgit add lib/vagrant/plugin/v2/config.rbgit commit -m "better docs for Vagrant::Plugin::V2::Config#finalize!"
# 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--V2--Config-finalize--for-pr
hub pull-request
# Celebrate!