β€”

title: Shrine 3.5.0

New features

β€œβ€˜rb require β€œaws-sdk-cloudfront” signer = Aws::CloudFront::UrlSigner.new(key_pair_id: β€œβ€¦β€, private_key: β€œβ€¦β€)

plugin :derivation_endpoint, expires_in: 90, signer: -> (url, expires_in:) do signer.signed_url(url, expires: Time.now.to_i + expires_in) end β€œβ€˜

rb Shrine::Storage::S3.new(max_multipart_parts: 1000, ...)

rb io = uploaded_file.open(encoding: Encoding::UTF_8) csv = CSV.new(io) # ...

Other improvements

β€œβ€˜rb class MyUploader < Shrine plugin :infer_extension

def generate_location(io, metadata:, **)
  extension = infer_extension(metadata["mime_type"])
  # ...
end

end β€œβ€˜