24 lines
549 B
Ruby
24 lines
549 B
Ruby
# frozen_string_literal: true
|
|
|
|
module DirectoryHelper
|
|
def tmp_directory(prefix)
|
|
directory_cache[prefix] ||= begin
|
|
f = File.join(Rails.root, "tmp", Time.now.strftime("#{prefix}%Y%m%d%H%M%S"))
|
|
FileUtils.mkdir_p(f) if Dir[f].blank?
|
|
f
|
|
end
|
|
end
|
|
|
|
def remove_tmp_directory(prefix)
|
|
tmp_directory_name = directory_cache[prefix] || ""
|
|
directory_cache.delete(prefix)
|
|
FileUtils.rm_rf(tmp_directory_name) if Dir[tmp_directory_name].present?
|
|
end
|
|
|
|
private
|
|
|
|
def directory_cache
|
|
@directory_cache ||= {}
|
|
end
|
|
end
|