Временно изменить текущий каталог в Rake
Мне нужно запустить несколько команд, которые должны быть (или проще быть) в другом каталоге, а затем, как только они будут завершены, вернитесь в предыдущий рабочий каталог.
Я представляю нечто похожее на Fabric with cd(path):
, например:
cd('.git') do
File.unlink('config')
end
Есть ли встроенный способ сделать это в Rake, или я должен писать собственный метод, который принимает блок и т.д.?
Ответы
Ответ 1
Это просто встроенный вызов Dir#chdir
:
Dir.chdir('.git') do
File.unlink('config')
end
Выдержка из docs:
Если задан блок, ему передается имя нового текущего каталога, а блок выполняется с этим в качестве текущего каталога. Оригинальный рабочий каталог восстанавливается при выходе из блока.