class Egis::S3Cleaner

@!visibility private

Attributes

s3_client[R]

Public Class Methods

new(aws_s3_client) click to toggle source
# File lib/egis/s3_cleaner.rb, line 6
def initialize(aws_s3_client)
  @s3_client = aws_s3_client
end

Public Instance Methods

delete(bucket, prefix) click to toggle source
# File lib/egis/s3_cleaner.rb, line 10
def delete(bucket, prefix)
  prefix_contents = s3_client.list_objects_v2(bucket: bucket, prefix: prefix).contents
  return if prefix_contents.empty?

  objects_to_remove = prefix_contents.map { |content| {key: content.key} }
  s3_client.delete_objects(bucket: bucket, delete: {objects: objects_to_remove})
end