Sha256: 287362dd9ea95b0af1e2bb59cc325ee8fbdea526ffad58dedcd7c560b6256bf2

Contents?: true

Size: 607 Bytes

Versions: 9

Compression:

Stored size: 607 Bytes

Contents

module Roo
  module Tempdir
    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

    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
  end
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
roo-2.10.0 lib/roo/tempdir.rb
roo-2.9.0 lib/roo/tempdir.rb
ruh-roo-3.0.1 lib/roo/tempdir.rb
roo-2.8.3 lib/roo/tempdir.rb
roo-2.8.2 lib/roo/tempdir.rb
roo-2.8.1 lib/roo/tempdir.rb
roo-2.8.0 lib/roo/tempdir.rb
roo-2.7.1 lib/roo/tempdir.rb
roo-2.7.0 lib/roo/tempdir.rb