Method: ActiveStorage::Service::GCSService#download

Defined in:
activestorage/lib/active_storage/service/gcs_service.rb

#download(key, &block) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'activestorage/lib/active_storage/service/gcs_service.rb', line 34

def download(key, &block)
  if block_given?
    instrument :streaming_download, key: key do
      stream(key, &block)
    end
  else
    instrument :download, key: key do
      file_for(key).download.string
    rescue Google::Cloud::NotFoundError
      raise ActiveStorage::FileNotFoundError
    end
  end
end