lib/saviour/s3_storage.rb in saviour-0.6.3 vs lib/saviour/s3_storage.rb in saviour-0.6.4
- old
+ new
@@ -9,10 +9,11 @@
KeyTooLarge = Class.new(StandardError)
def initialize(conf = {})
@bucket = conf.delete(:bucket)
@public_url_prefix = conf.delete(:public_url_prefix)
+ @extra_aws_client_options = conf.delete(:aws_client_opts)
@conf = conf
@create_options = conf.delete(:create_options) { {} }
conf.fetch(:aws_access_key_id) { raise(ArgumentError, "aws_access_key_id is required") }
conf.fetch(:aws_secret_access_key) { raise(ArgumentError, "aws_secret_access_key is required") }
@region = conf[:region] || raise(ArgumentError, "region is required")
@@ -117,12 +118,14 @@
path.gsub(/\A\/*/, '')
end
def client
@client ||= Aws::S3::Client.new(
- access_key_id: @conf[:aws_access_key_id],
- secret_access_key: @conf[:aws_secret_access_key],
- region: @region
+ {
+ access_key_id: @conf[:aws_access_key_id],
+ secret_access_key: @conf[:aws_secret_access_key],
+ region: @region
+ }.merge(@extra_aws_client_options || {})
)
end
end
end