def self.new_with_configuration(saver, configuration, object_configuration)
default_s3_client_credentials = {
region: DEFAULT_REGION
}
s3_client_credentials = default_s3_client_credentials.merge(
configuration.fetch(:s3_client_credentials)
)
s3_client = Aws::S3::Client.new(s3_client_credentials)
bucket_name = configuration.fetch(:bucket_name)
new(saver, s3_client, bucket_name, object_configuration, configuration)
rescue KeyError
raise "Invalid S3 Configuration #{configuration}. Please refer to the documentation for the necessary configurations."
end