# File lib/chef/node/attribute.rb, line 453 def component_has_key?(component_attrs,key) # get the Hash-like object at the current nesting level: nested_attrs = @current_nesting_level.inject(component_attrs) do |subtree, intermediate_key| # if the intermediate value isn't a hash or doesn't have the intermediate key, # it can't have the bottom-level key we're looking for. (subtree.respond_to?(:key?) && subtree[intermediate_key]) or (return false) end nested_attrs.respond_to?(:key?) && nested_attrs.key?(key) end