class CartBinaryUploader::S3CloudStorage
Attributes
bucket_access_key[RW]
bucket_secret_key[RW]
region_name[RW]
Public Class Methods
new(bucket_name, bucket_secrete_key, bucket_acess_key, region_name, framework_name, framework_version)
click to toggle source
Calls superclass method
# File lib/storage/s3_cloud_storage.rb, line 16 def initialize(bucket_name, bucket_secrete_key, bucket_acess_key, region_name, framework_name, framework_version) @region_name = region_name @bucket_secret_key = bucket_secrete_key @bucket_access_key = bucket_acess_key setup_s3_global super(bucket_name, framework_name, framework_version) end
Public Instance Methods
create_bucket()
click to toggle source
# File lib/storage/s3_cloud_storage.rb, line 42 def create_bucket @bucket = @storage.bucket(@bucket_name) end
create_storage()
click to toggle source
# File lib/storage/s3_cloud_storage.rb, line 37 def create_storage @storage = Aws::S3::Resource.new(credentials: Aws::Credentials.new(@bucket_secret_key, @bucket_access_key), region: @region_name) end
download_config_json_file(from_file)
click to toggle source
# File lib/storage/s3_cloud_storage.rb, line 64 def download_config_json_file(from_file) @bucket.object(from_file) end
file_on_storage_cloud(file)
click to toggle source
# File lib/storage/s3_cloud_storage.rb, line 55 def file_on_storage_cloud(file) @bucket.objects.each do |object| if object.key == file return true end end false end
setup_s3_global()
click to toggle source
# File lib/storage/s3_cloud_storage.rb, line 29 def setup_s3_global Aws.config = { :access_key_id => @bucket_access_key, :secret_access_key => @bucket_secret_key, :region => @region_name, } end
upload_file(file_path)
click to toggle source
# File lib/storage/s3_cloud_storage.rb, line 46 def upload_file(file_path) CartLogger.log_info "Creating #{file_path} on s3" @bucket_object = @bucket.object(file_path) @bucket_object.upload_file("./#{file_path}", acl:'public-read') CartLogger.log_info "Object #{file_path} created with url #{@bucket_object.public_url}" @bucket_object.public_url end