Направляющие - Создающий временные файлы портативным способом

Мое выполнение приложения направляющих на машине сервера Ubuntu.

Я должен создать временные файлы для "подавания" их к второму, независимому приложению (я буду использовать задачи граблей для этого, в случае, если эта информация необходима),

Мой вопрос: каков лучший способ создать временные поля на приложении направляющих?

Так как я нахожусь в человечности, я мог создать их на /tmp/whatever, но что работало бы только в Linux.

Я хотел бы, чтобы мое приложение было максимально портативным - таким образом, оно может быть установлено на машинах Windows и Mac в случае необходимости.

Какие-либо идеи?

Большое спасибо.

24
задан Grace Note 11 May 2010 в 16:07
поделиться

2 ответа

TMP / Окончательно правильное место для поставки файлов.

Лучший способ создания файлов на этой папке использует Библиотека Tempfile Ruby .

Код выглядит следующим образом:

require 'tempfile'

def foo()
  # creates a temporary file in tmp/
  Tempfile.open('prefix', Rails.root.join('tmp') ) do |f|
    f.print('a temp message')
    f.flush
    #... do more stuff with f
  end
end

Мне нравится это решение, потому что:

  • он автоматически генерирует случайные имена файлов (вы можете предоставить префикс)
  • автоматически удаляет файлы, когда они больше не используются. Например, если призывает к задаче разъема, файлы удаляются при заканчивании задачи Rake.
38
ответ дан 28 November 2019 в 23:25
поделиться

Apps Rails также имеют свои собственные каталог TMP / . Я предполагаю, что он всегда доступен и, таким образом, хороший кандидат в использовании и сохраняющую приложение портативным.

7
ответ дан 28 November 2019 в 23:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: