Sha256: 98e389c421ebc24183cef1c2df2c4c5bf5eb95088f42991765d648fe63d65621
Contents?: true
Size: 894 Bytes
Versions: 1
Compression:
Stored size: 894 Bytes
Contents
module S3Cleaner; class Clean attr_reader :bucket_name, :prefix, :num_releases, :aws_config 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 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 def directories_to_delete @directories_to_delete ||= directories[num_releases..-1] end private def directories tree.children.select(&:branch?).collect(&:prefix).reverse end def tree bucket.objects.with_prefix(prefix).as_tree end def bucket s3.buckets[bucket_name] end def s3 AWS.config(aws_config.merge({use_ssl: true})) AWS::S3.new end end; end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
s3_cleaner-0.1.0 | lib/s3_cleaner/clean.rb |