Module: Roo::Tempdir
- Included in:
- Excelx, OpenOffice
- Defined in:
- lib/roo/tempdir.rb
Instance Method Summary collapse
Instance Method Details
#finalize_tempdirs(object_id) ⇒ Object
3 4 5 6 7 8 9 10 |
# File 'lib/roo/tempdir.rb', line 3 def finalize_tempdirs(object_id) if @tempdirs && (dirs_to_remove = @tempdirs[object_id]) @tempdirs.delete(object_id) dirs_to_remove.each do |dir| ::FileUtils.remove_entry(dir) end end end |
#make_tempdir(object, prefix, root) ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'lib/roo/tempdir.rb', line 12 def make_tempdir(object, prefix, root) root ||= ENV["ROO_TMP"] # NOTE: This folder is cleaned up by finalize_tempdirs. ::Dir.mktmpdir("#{Roo::TEMP_PREFIX}#{prefix}", root).tap do |tmpdir| @tempdirs ||= Hash.new { |h, k| h[k] = [] } @tempdirs[object.object_id] << tmpdir end end |