class S3Cleaner::Clean
Attributes
aws_config[R]
bucket_name[R]
num_releases[R]
prefix[R]
Public Class Methods
new(args)
click to toggle source
# File lib/s3_cleaner/clean.rb, line 5 def initialize(args) @bucket_name = args.fetch(:bucket_name) @prefix = args.fetch(:prefix) @num_releases = args.fetch(:num_releases) @aws_config = args.fetch(:aws_config) end
Public Instance Methods
delete_old_releases()
click to toggle source
# File lib/s3_cleaner/clean.rb, line 12 def delete_old_releases return if directories_to_delete.nil? || directories_to_delete.empty? directories_to_delete.each do |dir| bucket.objects.with_prefix(dir).delete_all end end
directories_to_delete()
click to toggle source
# File lib/s3_cleaner/clean.rb, line 19 def directories_to_delete @directories_to_delete ||= directories[num_releases..-1] end
Private Instance Methods
bucket()
click to toggle source
# File lib/s3_cleaner/clean.rb, line 33 def bucket s3.buckets[bucket_name] end
directories()
click to toggle source
# File lib/s3_cleaner/clean.rb, line 25 def directories tree.children.select(&:branch?).collect(&:prefix).reverse end
s3()
click to toggle source
# File lib/s3_cleaner/clean.rb, line 37 def s3 AWS.config(aws_config.merge({use_ssl: true})) AWS::S3.new end
tree()
click to toggle source
# File lib/s3_cleaner/clean.rb, line 29 def tree bucket.objects.with_prefix(prefix).as_tree end