unlink

unlink()
Instance Public methods

Unlinks (deletes) the file from the filesystem. One should always unlink the file after using it, as is explained in the âExplicit closeâ good practice section in the Tempfile overview:

file = Tempfile.new('foo')
begin
   ...do something with file...
ensure
   file.close
   file.unlink   # deletes the temp file
end

Unlink-before-close

On POSIX systems it's possible to unlink a file before closing it. This practice is explained in detail in the Tempfile overview (section âUnlink after creationâ); please refer there for more information.

However, unlink-before-close may not be supported on non-POSIX operating systems. Microsoft Windows is the most notable case: unlinking a non-closed file will result in an error, which this method will silently ignore. If you want to practice unlink-before-close whenever possible, then you should write code like this:

file = Tempfile.new('foo')
file.unlink   # On Windows this silently fails.
begin
   ... do something with file ...
ensure
   file.close!   # Closes the file handle. If the file wasn't unlinked
                 # because #unlink failed, then this method will attempt
                 # to do so again.
end

delete

doc_ruby_on_rails
2015-05-17 08:27:09
Comments
Leave a Comment

Please login to continue.