Class: Bkwrapper::S3::Uploader

Inherits:
Object
  • Object
show all
Defined in:
lib/bkwrapper/s3/uploader.rb

Instance Method Summary collapse

Constructor Details

#initialize(access_key_id, secret_access_key, bucket_name, project_name) ⇒ Uploader

Returns a new instance of Uploader.



5
6
7
8
9
10
# 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

Instance Method Details

#buckets_namesObject



17
18
19
# File 'lib/bkwrapper/s3/uploader.rb', line 17

def buckets_names
  @s3.list_buckets.buckets.map(&:name)
end

#create_bucket(bucket_name) ⇒ Object



21
22
23
# File 'lib/bkwrapper/s3/uploader.rb', line 21

def create_bucket(bucket_name)
  @s3.create_bucket bucket: bucket_name
end

#delete_bucket(bucket_name) ⇒ Object



25
26
27
# File 'lib/bkwrapper/s3/uploader.rb', line 25

def delete_bucket(bucket_name)
  @s3.delete_bucket bucket: bucket_name
end

#upload_file(filename) ⇒ Object



12
13
14
15
# 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