2010-05-23 9 views
5

Próbuję użyć prowizji w projekcie, a jeśli włożę wszystko do Rakefile będzie to ogromne i trudne do odczytania/znalezienia rzeczy, więc starałem się umieścić każdą nazwę w jej własnym pliku w lib/rake, dodałem to do szczytu mojego pliku rake:Rake zadań w innych plikach

Dir['#{File.dirname(__FILE__)}/lib/rake/*.rake'].map { |f| require f } 

ładuje plik bez problemu, ale nie ma zadań. Mam tylko jeden plik .rake jako test o nazwie „servers.rake teraz”, a wygląda to tak:

namespace :server do 
    task :test do 
     puts "test" 
    end 
end 

więc kiedy biegnę rake server:test id spodziewać się jedna linia pojawia się powiedzenie „test”, a nie ja otrzymywałem

rake aborted! 
Don't know how to build task 'server:test' 

na początku Myślałem, że moje kody są złe, ale jeśli skopiuję zawartość lib/rake/servers.rake do Rakefile, to działa dobrze.

Jak uzyskać dostęp do zadań rake w innym pliku?

Odpowiedz

7

Potrzebne zmienić linię w pliku natarcia do

Dir.glob('lib/rake/*.rake').each { |r| import r } 
Powiązane problemy