Bugs item #6764, was opened at 2006-11-19 03:09
You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=1698&aid=6764&group_id=426

Category: Files / Dirs / IO
Group: None
Status: Open
Resolution: None
Priority: 3
Submitted By: David Welton (davidw)
Assigned to: Nobody (None)
Summary: tempfile.rb should let you preserve a file

Initial Comment:
Hello, this is not a bug but a feature request.  Perhaps these should be addressed to some other place?  In any case:

There are times when it would be nice to not automatically delete Tempfiles - when debugging for instance, but also in cases when an error occurs and you want to be able to examine what was going on.  What would be fantastic is a 'preserve' method that you can call that prevents the file from being 'reaped'.  I wasn't able to implement a patch to do this, unfortunately.

----------------------------------------------------------------------

Comment By: Shyouhei Urabe (shyouhei)
Date: 2007-05-30 08:03

Message:
Tempfiles won't be unlinked until:

(1) you pass a non-false value to the argument to Tempfile#close
(2) or the GC collects the instance

so if you want not delete a Tempfile, just hold the instance.

f = Tempfile.new("foo")
...
f.close(false) # preserve
...
f = nil # and GC will delete the file

----------------------------------------------------------------------

You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=1698&aid=6764&group_id=426