2013-05-14 14 views
13

Chciałbym uruchomić wiele komend, które muszą być (lub łatwiej być) w innym katalogu, a po ich zakończeniu powrócić do poprzedniego katalogu roboczego.Tymczasowo zmień bieżący katalog w Rake

Ja przewidując coś podobnego do Fabric's with cd(path):, np .:

cd('.git') do 
    File.unlink('config') 
end 

Czy jest wbudowana sposób to zrobić w Rake, czy powinienem pisać niestandardową metodę, która przyjmuje blok, itp?

Odpowiedz

31

To jest po prostu wbudowane Dir#chdir wezwanie:

Dir.chdir('.git') do 
    File.unlink('config') 
end 

Wyciąg z docs:

Jeśli blok jest podana, jest on przekazywany nazwę nowego katalogu bieżącym, a blok jest wykonywany z tym jako bieżący katalog. Oryginalny działający katalog jest odtwarzany po wyjściu bloku.

Powiązane problemy