def self.normalize_cookbook(endpoint, org_prefix, cookbook, name, version, base_uri, method,
is_cookbook_artifact=false)
if method != 'PUT'
cookbook.each_pair do |key, value|
if value.is_a?(Array)
value.each do |file|
if file.is_a?(Hash) && file.has_key?('checksum')
file['url'] ||= endpoint.build_uri(base_uri, org_prefix + ['file_store', 'checksums', file['checksum']])
end
end
end
end
cookbook['name'] ||= "#{name}-#{version}"
cookbook['frozen?'] ||= false
cookbook['metadata'] ||= {}
cookbook['metadata']['version'] ||= version
cookbook['metadata']['long_description'] ||= ""
cookbook['metadata']['dependencies'] ||= {}
cookbook['metadata']['attributes'] ||= {}
cookbook['metadata']['recipes'] ||= {}
end
if is_cookbook_artifact
cookbook.delete('json_class')
else
cookbook['cookbook_name'] ||= name
cookbook['json_class'] ||= 'Chef::CookbookVersion'
end
cookbook['chef_type'] ||= 'cookbook_version'
if method == 'MIN'
cookbook['metadata'].delete('attributes')
cookbook['metadata'].delete('long_description')
end
cookbook
end