Временные файлы и папки в Ruby

Если вы давно используете Ruby, то могли видеть и применять Tempfile в своих проектах. Если вкратце, то этот класс необходим, чтобы создать временный файл в системной директории `/tmp`. Далее вы можете передавать его в аргументах другим методам как обычный файл (в основном я встречал такое применение в гемах для работы с изображениями, например mini_magick). Если вы выбрали блочную форму, файл удалится автоматически после использования. Если нет, то для удаления вам нужно закрыть и отсоединить его вручную. Обратите внимание: `Tempfile.create` возвращает экземпляр класса `File`, а не `Tempfile`. Но вы могли не заметить, что в Ruby также есть метод Dir.mktmpdir, который создает временную папку (тоже в `/tmp`). Это особенно полезно, когда вы пишете интеграционные тесты и вам нужно создать несколько файлов для следующих шагов. Метод `Dir.mktmpdir` возвращает путь к временной директории, после чего вы просто создаете в ней файлы обычным способом, например через `File.write`.

А вы пользуетесь временными файлами и каталогами в своих проектах? В каких ситуациях вам помогал данный функционал?

#Ruby #Tempfile #Tmpdir #Temporary #File #Dir #Folder

Временные файлы и папки в Ruby | Сетка — социальная сеть от hh.ru