Как создать случайный уникальный файл прямо в / tmp, используя Ruby? - PullRequest
0 голосов
/ 18 мая 2019

Я пишу приложение, которое создает и помещает файл журнала в / tmp , а затем перемещает этот файл журнала в другой каталог.К сожалению, у меня возникли некоторые проблемы с этой реализацией, и я хотел бы сделать этот файл журнала более уникальным.

Я столкнулся с mktemp, который автоматически создает файл в / tmp .Отлично, именно то, что мне нужно!К сожалению, я не могу заставить его работать в Ruby.Я безуспешно пробовал следующее:

def temporary_logfile
    @temporary_logfile = `mktemp "#{File.basename($PROGRAM_NAME)}_#{Time.now.strftime('%Y%m%dT%H%M%S')}.logXXXX"`
end

Я ожидал увидеть свой лог-файл в / tmp , но, к сожалению, ничего не происходит.Интересно, что я сделал не так?

Следующим шагом будет использование slice! для удаления случайно сгенерированных символов из mktemp из имени файла журнала и перемещения файла в другое место.

1 Ответ

0 голосов
/ 19 мая 2019

Посмотрите на Tempfile: https://ruby -doc.org / stdlib-2.6.3 / libdoc / tempfile / rdoc / Tempfile.html

file = Tempfile.new('foo')
begin
   # ...do something with file...
ensure
   file.close
   file.unlink   # deletes the temp file
end

Примервзято прямо из документа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...