DEV Community

Cover image for Dealing with the lifecycle of a Tempfile
olistik
olistik

Posted on

3

Dealing with the lifecycle of a Tempfile

When dealing with Tempfiles in Ruby it's important to remember that when a tempfile object gets deallocated, the referenced file gets deleted as well.

require 'tempfile'

def foo
  Tempfile.new.path
end

path = foo # => "/tmp/20210723-30107-1h52x7" 

# Soon after:

File.exists?(path) # => true

# But wait for it..

File.exists?(path) # => false 
Enter fullscreen mode Exit fullscreen mode

Top comments (1)

Collapse
 
cescquintero profile image
Francisco Quintero 🇨🇴

Correct. Once I needed to use Tempfile because was dealing with files in docker containers. To prevent losing the file I set it up to make a copy to a designated folder so that the process could finish with no risk of losing the file.

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more