class AwsClient::S32Wrapper

Public Class Methods

new(*params) click to toggle source
Calls superclass method AwsClient::Wrapper::new
# File lib/s32_wrapper.rb, line 4
def initialize(*params)
  super
  @credentials_key = params[0][:credentials_key]
  @aws_region = params[0][:region]
end

Public Instance Methods

buckets() click to toggle source
# File lib/s32_wrapper.rb, line 14
def buckets
  return resource.buckets
end
find_bucket_by(bucket_name) click to toggle source
# File lib/s32_wrapper.rb, line 18
def find_bucket_by(bucket_name)
  buckets.select{|bucket| bucket.name == bucket_name }.first
end
find_or_create_bucket(bucket_name) click to toggle source
# File lib/s32_wrapper.rb, line 22
def find_or_create_bucket(bucket_name)
  begin
    bucket = resource.create_bucket(:bucket => bucket_name)
  rescue Aws::S3::Errors::BucketAlreadyOwnedByYou
    bucket = find_bucket_by(bucket_name)
  end
  return bucket
end
resource() click to toggle source
# File lib/s32_wrapper.rb, line 10
def resource
  @resource ||= Aws::S3::Resource.new(client: client)
end
write_data_to_bucket(bucket_name, data, filename) click to toggle source
# File lib/s32_wrapper.rb, line 38
def write_data_to_bucket(bucket_name, data, filename)
  s3_object = write_to_s3_bucket(filename, data, bucket_name)
  return s3_object
end
write_local_file_to_bucket(bucket_name, file_path) click to toggle source
# File lib/s32_wrapper.rb, line 31
def write_local_file_to_bucket(bucket_name, file_path)
  key = File.basename(file_path)
  body = IO.read(file_path)
  s3_object = write_to_s3_bucket(key, body, bucket_name)
  return s3_object
end
write_to_s3_bucket(key, body, bucket_name) click to toggle source
# File lib/s32_wrapper.rb, line 43
def write_to_s3_bucket(key, body, bucket_name)
  bucket = find_or_create_bucket(bucket_name)
  s3_object = bucket.put_object(:key => key, :body => body)
end