diff options
author | Sean Handley <sean.handley@gmail.com> | 2017-07-14 09:28:34 +0100 |
---|---|---|
committer | Sean Handley <sean.handley@gmail.com> | 2017-07-15 08:39:56 +0100 |
commit | 4dd44bc5e894d5a6e7f40881f318fa67e9aa1a77 (patch) | |
tree | 5458fcc6f2aa130ac374d3e9492b38a74d2367d2 /lib | |
parent | 6dcdc5c9abb8e4e93a2c582b11ff4bb77d62ed3b (diff) | |
download | rails-4dd44bc5e894d5a6e7f40881f318fa67e9aa1a77.tar.gz rails-4dd44bc5e894d5a6e7f40881f318fa67e9aa1a77.tar.bz2 rails-4dd44bc5e894d5a6e7f40881f318fa67e9aa1a77.zip |
Allow custom endpoints for S3.
Diffstat (limited to 'lib')
-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 |