204
205
206
207
208
209
210
211
212
|
# File 'lib/active_storage_encryption/overrides.rb', line 204
def open(key, encryption_key: nil, checksum: nil, verify: true, name: "ActiveStorage-", tmpdir: nil, &blk)
raise EncryptionKeyMissingError, "An encryption key must be supplied when using an encrypted service" if !encryption_key && service.respond_to?(:encrypted?) && service.encrypted?
open_tempfile(name, tmpdir) do |file|
download(key, file, encryption_key: encryption_key)
verify_integrity_of(file, checksum: checksum) if verify
yield file
end
end
|