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+.
Edit
git clone [email protected]:opscode/chef.git
cd chef
open lib/chef/node/attribute.rb
Contribute
# Make a new branchgit checkout -b -your-name--update-docs-Chef--Node--Attribute-debug_value-for-pr
# Commit to gitgit add lib/chef/node/attribute.rbgit commit -m "better docs for Chef::Node::Attribute#debug_value"
# Open pull requestgem 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!