class AWS::S3::ObjectCollection

def delete_if &block

Raises:
  • (BatchDeleteError) - If any of the objects failed to delete,

Other tags:
    Yieldparam: object -
def delete_if &block
  error_counts = {}
  batch_helper = BatchHelper.new(1000) do |objects| 
    begin
      delete(objects)
    rescue Errors::BatchDeleteError => error
      error.error_counts.each_pair do |code,count|
        error_counts[code] ||= 0
        error_counts[code] += count
      end
    end
  end
  each do |object|
    batch_helper.add(object) if yield(object)
  end
  batch_helper.complete!
  raise Errors::BatchDeleteError.new(error_counts) unless 
    error_counts.empty?
  nil
end