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

Debug what's going on with an attribute. +args+ is a path spec to the
attribute you're interested in. For example, to debug where the value
of `node[:network][:default_interface]` is coming from, use:
  debug_value(:network, :default_interface).
The return value is an Array of Arrays. The first element is
`["set_unless_enabled?", Boolean]`, which describes whether the
attribute collection is in "set_unless" mode. The rest of the Arrays
are pairs of `["precedence_level", value]`, where precedence level is
the component, such as role default, normal, etc. and value is the
attribute value set at that precedence level. If there is no value at
that precedence level, +value+ will be the symbol +:not_present+.

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


# Commit to git

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


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

hub pull-request


# Celebrate!