class Backupsss::BackupBucket

A class for listing and sorting files in an s3 bucket

Attributes

dir[R]
region[R]

Public Class Methods

new(opts = {}) click to toggle source
# File lib/backupsss/backup_bucket.rb, line 8
def initialize(opts = {})
  @dir    = opts[:dir]
  @region = opts[:region]
end

Public Instance Methods

ls() click to toggle source
# File lib/backupsss/backup_bucket.rb, line 13
def ls
  list_objects.map(&:key)
end
ls_rt() click to toggle source
# File lib/backupsss/backup_bucket.rb, line 21
def ls_rt
  ls_t.reverse
end
ls_t() click to toggle source
# File lib/backupsss/backup_bucket.rb, line 17
def ls_t
  list_objects.sort_by(&:last_modified).map(&:key)
end
rm(file) click to toggle source
# File lib/backupsss/backup_bucket.rb, line 25
def rm(file)
  s3_client.delete_object(bucket: bucket, key: file)
  file
end

Private Instance Methods

bucket() click to toggle source
# File lib/backupsss/backup_bucket.rb, line 40
def bucket
  dir.split('/').first
end
list_objects() click to toggle source
# File lib/backupsss/backup_bucket.rb, line 32
def list_objects
  s3_client.list_objects(bucket: bucket, prefix: prefix).contents
end
prefix() click to toggle source
# File lib/backupsss/backup_bucket.rb, line 44
def prefix
  dir.split('/').drop(1).join('/')
end
s3_client() click to toggle source
# File lib/backupsss/backup_bucket.rb, line 36
def s3_client
  Aws::S3::Client.new(region: region)
end