Module: ActiveStorageEncryption::Overrides::DownloaderInstanceMethods

Defined in:
lib/active_storage_encryption/overrides.rb

Instance Method Summary collapse

Instance Method Details

#open(key, encryption_key: nil, checksum: nil, verify: true, name: "ActiveStorage-", tmpdir: nil, &blk) ⇒ Object



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