class ActiveStorage::Preview

def download(&block)

if the preview has not been processed yet.
streamed and yielded in chunks. Raises ActiveStorage::Preview::UnprocessedError
of RAM for very large files. If a block is given, then the download is
given, the entire file is read into memory and returned. That'll use a lot
Downloads the file associated with this preview's variant. If no block is
def download(&block)
  if processed?
    presentation.download(&block)
  else
    raise UnprocessedError
  end
end