chef

https://github.com/opscode/chef

Ruby

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

Chef::Node::Attribute#apply_path

Helper method for merge_all/merge_defaults/merge_overrides.

apply_path(thing, [ "foo", "bar", "baz" ]) = thing["foo"]["bar"]["baz"]

The path value can be nil in which case the whole component is returned.

It returns nil (does not raise an exception) if it walks off the end of an Mash/Hash/Array, it does not
raise any TypeError if it attempts to apply a hash key to an Integer/String/TrueClass, and just returns
nil in that case.

Source | Google | Stack overflow

Edit

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

cd chef

open lib/chef/node/attribute.rb

Contribute

# Make a new branch

git checkout -b -your-name--update-docs-Chef--Node--Attribute-apply_path-for-pr


# Commit to git

git add lib/chef/node/attribute.rbgit commit -m "better docs for Chef::Node::Attribute#apply_path"


# 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--Node--Attribute-apply_path-for-pr

hub pull-request


# Celebrate!