2012-06-28 35 views
6

¿Hay alguna manera de crear un guardia simple? Quiero ejecutar una tarea de rake cuando un archivo cambia en un directorio específico y seguir todos estos pasos es demasiado para esta única tarea. https://github.com/guard/guard/wiki/Create-a-guardVigilante de guardia de rubí simple

Intenté agregar esto en el archivo Guardfile pero no funciona.

guard :doc do 
    watch(%r{^documentation})      { "rake doc:build" } 
end 

watch("/documentation")      { "rake doc:build" } 

Así que ¿Conoce una forma sencilla de ejecutar una tarea rake cuando un archivo se actualiza con guard?

+0

¿De qué manera no funciona? ¿Estás ejecutando el daemon 'guard'? ¿Ejecutaste 'guard init' como se describe? Aquí usa dos rutas diferentes, una para 'documentation' y otra para'/documentation', y probablemente no tenga un directorio '/ documentation'. (¿Estás seguro de que los caminos son relativos a la raíz del proyecto Rail?) – sarnold

Respuesta

7

La manera más directa es usar guard-rake para ejecutar una tarea de Rake en una modificación de archivo.

Una solución más genérica es usar guard-shell para ejecutar cualquier herramienta de línea de comandos en una modificación de archivo.

casos de uso más complejos deben resolverse por creating your own guard plugin. Ni siquiera necesita crear una gema, ya que puede simplemente definirla como guardia en línea como Avdi nos muestra en su publicación de blog a Guardfile for Redis.

Cuando quieras compartir tu Guardia, solo tienes que echar un vistazo a los plugins Guard más avanzados como guard-rspec o guard-jasmine como ejemplos.

+0

Gracias guard-rake es lo que estaba buscando. Pensé que la función de rastrillo estaba metida en la gema de guardia. – jspooner