def each_part
case
when dynamic_manifest?
cname, oprefix = large_object_prefix.split('/', 2)
target_container = service.data[cname]
if target_container
all = target_container.objects.keys
matching = all.select { |name| name.start_with? oprefix }
keys = matching.sort
keys.each do |name|
yield target_container.objects[name]
end
else
Fog::Logger.warning "Invalid container in dynamic object manifest: #{cname}"
yield self
end
when static_manifest?
Fog::JSON.decode(body).each do |segment|
cname, oname = segment['path'].split('/', 2)
cont = service.mock_container cname
unless cont
Fog::Logger.warning "Invalid container in static object manifest: #{cname}"
next
end
obj = cont.mock_object oname
unless obj
Fog::Logger.warning "Invalid object in static object manifest: #{oname}"
next
end
yield obj
end
else
yield self
end
end