def resource_to_hash(resource)
parameters = resource.param_values.inject({}) do |params,param_value|
if params.has_key?(param_value.param_name.name)
value = [params[param_value.param_name.name],param_value.value].flatten
else
value = param_value.value
end
params.merge(param_value.param_name.name => value)
end
tags = resource.puppet_tags.map(&:name).uniq.sort
hash = {
:type => resource.restype,
:title => resource.title,
:exported => true,
:parameters => parameters,
:tags => tags,
}
hash[:file] = resource.file if resource.file
hash[:line] = resource.line if resource.line
hash
end