chef

https://github.com/opscode/chef

Ruby

A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.

Chef::Knife::SubcommandLoader::GemGlobLoader#gem_and_builtin_subcommands

Returns a Hash of paths to knife commands built-in to chef, or installed via gem.
If rubygems is not installed, falls back to globbing the knife directory.
The Hash is of the form {"relative/path" => "/absolute/path"}
--
Note: the "right" way to load the plugins is to require the relative path, i.e.,
  require 'chef/knife/command'
but we're getting frustrated by bugs at every turn, and it's slow besides. So
subcommand loader has been modified to load the plugins by using Kernel.load
with the absolute path.

Source | Google | Stack overflow

Edit

git clone [email protected]:opscode/chef.git

cd chef

open knife/lib/chef/knife/core/gem_glob_loader.rb

Contribute

# Make a new branch

git checkout -b -your-name--update-docs-Chef--Knife--SubcommandLoader--GemGlobLoader-gem_and_builtin_subcommands-for-pr


# Commit to git

git add knife/lib/chef/knife/core/gem_glob_loader.rbgit commit -m "better docs for Chef::Knife::SubcommandLoader::GemGlobLoader#gem_and_builtin_subcommands"


# Open pull request

gem install hub # on a mac you can `brew install hub`

hub fork

git push <your name> -your-name--update-docs-Chef--Knife--SubcommandLoader--GemGlobLoader-gem_and_builtin_subcommands-for-pr

hub pull-request


# Celebrate!