# File lib/chef/node/attribute.rb, line 186 def fetch(key, default_value=nil, &block) if get_keys.include? key determine_value( get_value(automatic, key), get_value(override, key), get_value(normal, key), get_value(default, key) ) elsif default_value default_value elsif block_given? block.call(key) else raise IndexError, "Key #{key} does not exist" end end