diff options
Diffstat (limited to 'lib/active_storage/service')
-rw-r--r-- | lib/active_storage/service/s3_service.rb | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/lib/active_storage/service/s3_service.rb b/lib/active_storage/service/s3_service.rb index e75ac36c7d..f78e2d3246 100644 --- a/lib/active_storage/service/s3_service.rb +++ b/lib/active_storage/service/s3_service.rb @@ -4,8 +4,24 @@ require "active_support/core_ext/numeric/bytes" class ActiveStorage::Service::S3Service < ActiveStorage::Service attr_reader :client, :bucket - def initialize(access_key_id:, secret_access_key:, region:, bucket:) - @client = Aws::S3::Resource.new(access_key_id: access_key_id, secret_access_key: secret_access_key, region: region) + def initialize(access_key_id:, secret_access_key:, region:, bucket:, endpoint: nil) + @client = if endpoint + Aws::S3::Resource.new( + access_key_id: access_key_id, + secret_access_key: secret_access_key, + region: region, + bucket: bucket + ) + else + Aws::S3::Resource.new( + access_key_id: access_key_id, + secret_access_key: secret_access_key, + region: region, + bucket: bucket, + endpoint: endpoint + ) + end + @bucket = @client.bucket(bucket) end |