2012-06-28 18 views
6

C'è un modo per creare un semplice orologio da guardia? Voglio eseguire un'attività di rake quando un file cambia in una directory specifica e passare attraverso tutti questi passaggi è troppo per questa attività singola. https://github.com/guard/guard/wiki/Create-a-guardSimple watch watcher ruby ​​

Ho provato ad aggiungere questo nel Guardfile ma non funziona.

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

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

Quindi Sei a conoscenza di un modo semplice per eseguire un compito rastrello quando un file viene aggiornato con guard?

+0

In che modo non funziona? Stai usando il demone 'guard'? Hai eseguito 'guard init' come descritto? Qui stai usando due diversi percorsi: uno per 'documentation' e uno per'/documentation' - e probabilmente non hai una directory '/ documentation'. (Sei sicuro che i percorsi siano relativi alla radice del progetto di Rail?) – sarnold

risposta

7

Il modo più semplice è utilizzare guard-rake per eseguire un'attività Rake su una modifica di file.

Una soluzione più generica è utilizzare guard-shell per eseguire qualsiasi strumento da riga di comando in una modifica di file.

I casi d'uso più complessi devono essere risolti con creating your own guard plugin. Non hai nemmeno bisogno di creare un gioiello, dal momento che puoi semplicemente definirli come inline guard come ci mostra Avdi nel suo post del blog a Guardfile for Redis.

Quando si desidera condividere la guardia, è sufficiente dare un'occhiata ai plugin Guard più avanzati come guard-rspec o guard-jasmine come esempi.

+0

Grazie a quel che stavo cercando guard-rake. Ho pensato che la caratteristica del rastrello fosse cotta nella gemma della guardia. – jspooner