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#top_level_breadcrumb

This is used to track the top level key as we descend through method chaining into
a precedence level (e.g. node.default['foo']['bar']['baz']= results in 'foo' here).  We
need this so that when we hit the end of a method chain which results in a mutator method
that we can invalidate the whole top-level deep merge cache for the top-level key.  It is
the responsibility of the accessor on the Chef::Node object to reset this to nil, and then
the first VividMash#[] call can ||= and set this to the first key we encounter.

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-top_level_breadcrumb-for-pr


# Commit to git

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


# 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-top_level_breadcrumb-for-pr

hub pull-request


# Celebrate!