module Roo::Tempdir

Public Instance Methods

finalize_tempdirs(object_id) click to toggle source
# 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) click to toggle source
# 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