2012-06-28 22 views
6

Có cách nào để tạo đồng hồ bảo vệ đơn giản không? Tôi muốn chạy một công việc cào khi một tập tin thay đổi trong một thư mục cụ thể và đi qua tất cả các bước này là quá nhiều cho công việc này. https://github.com/guard/guard/wiki/Create-a-guardThiết bị giám sát bảo vệ ruby ​​đơn giản

Tôi đã thử thêm điều này trong Guardfile nhưng nó không hoạt động.

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

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

Vì vậy, bạn có biết cách đơn giản để chạy tác vụ cào khi tệp được cập nhật với guard không?

+0

Bằng cách nào nó không hoạt động? Bạn đang chạy trình bảo vệ 'guard'? Bạn đã chạy 'guard init' như được mô tả? Bạn đang sử dụng hai đường dẫn khác nhau ở đây - một cho 'tài liệu' và một cho'/documentation' - và bạn có thể không có thư mục '/ documentation'. (Bạn có tự tin rằng các đường dẫn có liên quan đến gốc dự án của Rail không?) – sarnold

Trả lời

7

Cách đơn giản nhất là sử dụng guard-rake để chạy tác vụ Rake khi sửa đổi tệp.

Giải pháp chung chung hơn là sử dụng guard-shell để chạy bất kỳ công cụ dòng lệnh nào trên sửa đổi tệp.

Các trường hợp sử dụng phức tạp khác cần được giải quyết bằng creating your own guard plugin. Bạn thậm chí không cần phải tạo ra một viên ngọc, vì bạn có thể chỉ định nghĩa chúng là bảo vệ nội dòng như Avdi cho chúng ta thấy trong bài đăng blog a Guardfile for Redis của mình.

Khi bạn muốn chia sẻ Người bảo vệ, chỉ cần xem xét các plugin bổ sung của Trình bảo vệ nâng cao như guard-rspec hoặc guard-jasmine làm ví dụ.

+0

Cảm ơn guard-rake là những gì tôi đang tìm kiếm. Tôi mặc dù tính năng rake đã được nướng vào đá quý bảo vệ. – jspooner

Các vấn đề liên quan