def manifest=(new_manifest)
@manifest = Mash.new new_manifest
@checksums = extract_checksums_from_manifest(@manifest)
@manifest_records_by_path = extract_manifest_records_by_path(@manifest)
COOKBOOK_SEGMENTS.each do |segment|
next unless @manifest.has_key?(segment)
filenames = @manifest[segment].map{|manifest_record| manifest_record['name']}
if segment == :recipes
self.recipe_filenames = filenames
elsif segment == :attributes
self.attribute_filenames = filenames
else
segment_filenames(segment).clear
filenames.each { |filename| segment_filenames(segment) << filename }
end
end
end