Class: CircleciTools::S3UploadService
- Inherits:
-
Object
- Object
- CircleciTools::S3UploadService
- Defined in:
- lib/circleci-tools/s3_upload_service.rb
Instance Method Summary collapse
-
#initialize(bucket_name, logger: Logger.new(STDOUT)) ⇒ S3UploadService
constructor
A new instance of S3UploadService.
- #upload_file(file_path, s3_key) ⇒ Object
Constructor Details
#initialize(bucket_name, logger: Logger.new(STDOUT)) ⇒ S3UploadService
Returns a new instance of S3UploadService.
6 7 8 9 10 |
# File 'lib/circleci-tools/s3_upload_service.rb', line 6 def initialize(bucket_name, logger: Logger.new(STDOUT)) @bucket_name = bucket_name @logger = logger @s3_client = Aws::S3::Client.new end |
Instance Method Details
#upload_file(file_path, s3_key) ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/circleci-tools/s3_upload_service.rb', line 12 def upload_file(file_path, s3_key) @logger.info("Uploading #{file_path} to S3 bucket #{@bucket_name} with key #{s3_key}...") @s3_client.put_object(bucket: @bucket_name, key: "circleci/#{s3_key}", body: File.read(file_path)) @logger.info("Uploaded #{file_path} to S3 bucket #{@bucket_name} with key #{s3_key}.") rescue Aws::S3::Errors::ServiceError => e @logger.error("Failed to upload #{file_path} to S3: #{e.}") end |