vagrant
https://github.com/mitchellh/vagrant
Ruby
Vagrant is a tool for building and distributing development environments.
Vagrant::Plugin::V2::Config#merge
Merge another configuration object into this one. This assumes that the other object is the same class as this one. This should not mutate this object, but instead should return a new, merged object. The default implementation will simply iterate over the instance variables and merge them together, with this object overriding any conflicting instance variables of the older object. Instance variables starting with "__" (double underscores) will be ignored. This lets you set some sort of instance-specific state on your configuration keys without them being merged together later.
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-merge-for-pr
# Commit to gitgit add lib/vagrant/plugin/v2/config.rbgit commit -m "better docs for Vagrant::Plugin::V2::Config#merge"
# 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-merge-for-pr
hub pull-request
# Celebrate!