class Bkwrapper::S3::Uploader

Public Class Methods

new(access_key_id, secret_access_key, bucket_name, project_name) click to toggle source
# File lib/bkwrapper/s3/uploader.rb, line 5
def initialize(access_key_id, secret_access_key, bucket_name, project_name)
  @bucket_name, @project_name = bucket_name, project_name

  creds = ::Aws::Credentials.new(access_key_id, secret_access_key)
  @s3 = ::Aws::S3::Client.new(credentials: creds, region:'us-east-1')
end

Public Instance Methods

buckets_names() click to toggle source
# File lib/bkwrapper/s3/uploader.rb, line 17
def buckets_names
  @s3.list_buckets.buckets.map(&:name)
end
create_bucket(bucket_name) click to toggle source
# File lib/bkwrapper/s3/uploader.rb, line 21
def create_bucket(bucket_name)
  @s3.create_bucket bucket: bucket_name
end
delete_bucket(bucket_name) click to toggle source
# File lib/bkwrapper/s3/uploader.rb, line 25
def delete_bucket(bucket_name)
  @s3.delete_bucket bucket: bucket_name
end
upload_file(filename) click to toggle source
# File lib/bkwrapper/s3/uploader.rb, line 12
def upload_file(filename)
  file_open = File.open(filename)
  @s3.put_object(body: file_open, bucket: "#{@bucket_name}/#{@project_name}", key: File.basename(filename))
end