2010-05-23 10 views
5

Estoy tratando de usar rake en un proyecto, y si pongo todo en Rakefile será enorme y difícil de leer/encontrar cosas, así que traté de poner cada nombre en su propio archivo en lib/rastrillo, he añadido esto a la parte superior de mi archivo de rastrillo:Rake tareas en otros archivos

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

se carga el archivo no hay problema, pero no tiene las tareas. Sólo tengo un archivo .rake como una prueba de que ahora se llama "servers.rake" y se ve así:

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

así que cuando corro rake server:test Identificación espera ver una línea aparece diciendo "prueba", en lugar de eso obtener

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

al principio pensé que mis códigos mal pero si copio el contenido de lib/rastrillo/servers.rake en Rakefile trabaja muy bien.

¿Cómo hago para que funcionen las tareas de rake que están en otro archivo?

Respuesta

7

necesario para cambiar la línea en el archivo de rastrillo para

Dir.glob('lib/rake/*.rake').each { |r| import r } 
Cuestiones relacionadas