Sha256: 1cad83a6c2d758d9445794bef306b158bccbea0a02670270286a9410b16c090c
Contents?: true
Size: 1.44 KB
Versions: 1
Compression:
Stored size: 1.44 KB
Contents
require 'aws-sdk' module Fastlane module Helper class S3ClientHelper attr_reader :client def initialize(access_key: nil, secret_access_key: nil, region: nil) creds = Aws::Credentials.new(access_key, secret_access_key) Aws.config.update({ region: region, credentials: creds }) @client = Aws::S3::Client.new end def list_buckets return @client.list_buckets end def upload_file(bucket_name, file_name, file_data, acl) bucket = find_bucket!(bucket_name) details = { acl: acl, key: file_name, body: file_data } obj = bucket.put_object(details) # When you enable versioning on a S3 bucket, # writing to an object will create an object version # instead of replacing the existing object. # http://docs.aws.amazon.com/AWSRubySDK/latest/AWS/S3/ObjectVersion.html if obj.kind_of?(Aws::S3::ObjectVersion) obj = obj.object end # Return public url obj.public_url.to_s end def delete_file(bucket, file_name) bucket = find_bucket!(bucket_name) bucket.objects[file_name].delete end def find_bucket!(bucket_name) bucket = Aws::S3::Bucket.new(bucket_name, client: @client) raise "Bucket '#{bucket_name}' not found" unless bucket.exists? return bucket end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fastlane-2.143.0 | fastlane/lib/fastlane/helper/s3_client_helper.rb |