From a6d80e164f2f5566472370a84ab7cd98736666c4 Mon Sep 17 00:00:00 2001 From: George Claghorn Date: Wed, 30 May 2018 20:01:07 -0400 Subject: Include blob ID in tempfile name for debugging convenience --- activestorage/app/models/active_storage/blob.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'activestorage/app/models') diff --git a/activestorage/app/models/active_storage/blob.rb b/activestorage/app/models/active_storage/blob.rb index d36c951292..203e4118c5 100644 --- a/activestorage/app/models/active_storage/blob.rb +++ b/activestorage/app/models/active_storage/blob.rb @@ -168,6 +168,16 @@ class ActiveStorage::Blob < ActiveRecord::Base # Downloads the blob to a tempfile on disk. Yields the tempfile. # + # The tempfile's name is prefixed with +ActiveStorage-+ and the blob's ID. Its extension matches that of the blob. + # + # By default, the tempfile is created in Dir.tmpdir. Pass +tempdir:+ to create it in a different directory: + # + # blob.open(tempdir: "/path/to/tmp") do |file| + # # ... + # end + # + # The tempfile is automatically closed and unlinked after the given block is executed. + # # Raises ActiveStorage::IntegrityError if the downloaded data does not match the blob's checksum. def open(tempdir: nil, &block) ActiveStorage::Downloader.new(self, tempdir: tempdir).download_blob_to_tempfile(&block) -- cgit v1.2.3