2012-06-28 11 views
6

Czy istnieje sposób na stworzenie prostego wartownika? Chcę uruchomić zadanie rake, gdy plik zmienia się w określonym katalogu i wykonanie wszystkich tych kroków jest zbyt duże dla tego jednego zadania. https://github.com/guard/guard/wiki/Create-a-guardProsty strażnik wartowników rubinowych

Próbowałem dodać to w pliku Guardfile, ale to nie działa.

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

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

Więc wiesz o prosty sposób uruchomić zadanie natarcia, gdy plik jest aktualizowana z guard?

+0

W jaki sposób to nie działa? Czy używasz demona 'guard'? Czy uruchomiłeś 'guard init' zgodnie z opisem? Używasz tutaj dwóch różnych ścieżek - jednej dla 'dokumentacji' i jednej dla'/documentation' - i prawdopodobnie nie masz katalogu '/ documentation'. (Czy jesteś pewny, że ścieżki są powiązane z katalogiem projektu Rail?) – sarnold

Odpowiedz

7

Najprostszym sposobem jest użycie guard-rake do uruchomienia zadania Rake przy modyfikacji pliku.

Bardziej ogólnym rozwiązaniem jest użycie guard-shell do uruchomienia dowolnego narzędzia wiersza poleceń na modyfikacji pliku.

Bardziej złożone przypadki użycia powinny zostać rozwiązane przez creating your own guard plugin. Nie musisz nawet tworzyć klejnotu, ponieważ możesz po prostu zdefiniować je jako wbudowany strażnik, tak jak Avdi pokazuje nam jego post na blogu a Guardfile for Redis.

Jeśli chcesz podzielić się swoim Strażnikiem, popatrz na bardziej zaawansowane wtyczki Strażowe, takie jak guard-rspec lub guard-jasmine jako przykłady.

+0

Dzięki temu, czego szukałem, grałem na straży. Chociaż funkcja rake została upieczona w klejnocie wartownika. – jspooner