def format_for_display(item)
data = item.kind_of?(Chef::DataBagItem) ? item.raw_data : item
if config[:attribute]
config[:attribute].split(".").each do |attr|
if data.respond_to?(:[])
data = data[attr]
elsif data.nil?
nil
else data.respond_to?(attr.to_sym)
data = data.send(attr.to_sym)
end
end
{ config[:attribute] => data.kind_of?(Chef::Node::Attribute) ? data.to_hash : data }
elsif config[:run_list]
data = data.run_list.run_list
{ "run_list" => data }
elsif config[:id_only]
data.respond_to?(:name) ? data.name : data["id"]
else
data
end
end