From 4dd44bc5e894d5a6e7f40881f318fa67e9aa1a77 Mon Sep 17 00:00:00 2001 From: Sean Handley Date: Fri, 14 Jul 2017 09:28:34 +0100 Subject: Allow custom endpoints for S3. --- lib/active_storage/service/s3_service.rb | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'lib/active_storage') 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 -- cgit v1.2.3