lib/astrails/safe/s3.rb in colin-safe-0.1.6 vs lib/astrails/safe/s3.rb in colin-safe-0.1.7

- old
+ new

@@ -10,46 +10,38 @@ def prefix @prefix ||= expand(config[:s3, :path] || expand(config[:local, :path] || ":kind/:id")) end - def save - # needed in cleanup even on dry run - AWS::S3::Base.establish_connection!(:access_key_id => key, :secret_access_key => secret, :use_ssl => true) unless $LOCAL + def base + @base ||= File.basename(filename).split(".").first + end + def save file = @parent.open puts "Uploading #{bucket}:#{path}" if $_VERBOSE || $DRY_RUN unless $DRY_RUN || $LOCAL - AWS::S3::Bucket.create(bucket) - AWS::S3::S3Object.store(path, file, bucket) + s3.create_bucket(bucket) + s3.put(bucket, path, file) puts "...done" if $_VERBOSE end file.close if file - end def cleanup - return if $LOCAL - return unless keep = @config[:keep, :s3] - bucket = @config[:s3, :bucket] - - base = File.basename(filename).split(".").first - puts "listing files in #{bucket}:#{prefix}/#{base}" - files = AWS::S3::Bucket.objects(bucket, :prefix => "#{prefix}/#{base}", :max_keys => keep * 2) - puts files.collect {|x| x.key} if $_VERBOSE + files = s3.list_bucket(bucket, { 'prefix' => "#{prefix}/#{base}", 'max-keys' => keep * 2 }) + puts files.collect {|x| x[:key]} if $_VERBOSE - files = files. - collect {|x| x.key}. - sort + files = files.collect {|x| x[:key]}.sort cleanup_with_limit(files, keep) do |f| puts "removing s3 file #{bucket}:#{f}" if $DRY_RUN || $_VERBOSE - AWS::S3::Bucket.find(bucket)[f].delete unless $DRY_RUN || $LOCAL + s3.delete(bucket, f) unless $DRY_RUN || $LOCAL end end def bucket config[:s3, :bucket] @@ -59,9 +51,13 @@ config[:s3, :key] end def secret config[:s3, :secret] + end + + def s3 + @s3 ||= RightAws::S3Interface.new(key, secret) end end end end