From a1ba470e4e0ec5ebbcd47755122878df6d19ad0b Mon Sep 17 00:00:00 2001
From: randx <dmitriy.zaporozhets@gmail.com>
Date: Mon, 10 Sep 2012 09:26:35 +0300
Subject: [PATCH] Added guard

---
 Gemfile      |  3 +++
 Gemfile.lock | 11 +++++++++++
 Guardfile    | 30 ++++++++++++++++++++++++++++++
 3 files changed, 44 insertions(+)
 create mode 100644 Guardfile

diff --git a/Gemfile b/Gemfile
index c8d3821f61ab7..d104cbb6cf907 100644
--- a/Gemfile
+++ b/Gemfile
@@ -109,6 +109,9 @@ group :development, :test do
   gem "database_cleaner"
   gem "launchy"
   gem 'factory_girl_rails'
+
+  gem 'guard-rspec'
+  gem 'guard-cucumber'
 end
 
 group :test do
diff --git a/Gemfile.lock b/Gemfile.lock
index 83fd94dba3f08..00ece6018eb85 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -186,6 +186,14 @@ GEM
       multi_xml
       rack
       rack-mount
+    guard (1.3.2)
+      listen (>= 0.4.2)
+      thor (>= 0.14.6)
+    guard-cucumber (1.2.0)
+      cucumber (>= 1.2.0)
+      guard (>= 1.1.0)
+    guard-rspec (1.2.1)
+      guard (>= 1.1)
     haml (3.1.6)
     haml-rails (0.3.4)
       actionpack (~> 3.0)
@@ -219,6 +227,7 @@ GEM
     libv8 (3.3.10.4)
     libwebsocket (0.1.3)
       addressable
+    listen (0.5.0)
     mail (2.4.4)
       i18n (>= 0.4.0)
       mime-types (~> 1.16)
@@ -403,6 +412,8 @@ DEPENDENCIES
   grack!
   grape (~> 0.2.1)
   grit!
+  guard-cucumber
+  guard-rspec
   haml-rails
   headless
   httparty
diff --git a/Guardfile b/Guardfile
new file mode 100644
index 0000000000000..ed38f548d6e54
--- /dev/null
+++ b/Guardfile
@@ -0,0 +1,30 @@
+# A sample Guardfile
+# More info at https://github.com/guard/guard#readme
+
+guard 'rspec', :version => 2 do
+  watch(%r{^spec/.+_spec\.rb$})
+  watch(%r{^lib/(.+)\.rb$})     { |m| "spec/lib/#{m[1]}_spec.rb" }
+  watch('spec/spec_helper.rb')  { "spec" }
+
+  # Rails example
+  watch(%r{^app/(.+)\.rb$})                           { |m| "spec/#{m[1]}_spec.rb" }
+  watch(%r{^app/(.*)(\.erb|\.haml)$})                 { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
+  watch(%r{^app/controllers/(.+)_(controller)\.rb$})  { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
+  watch(%r{^spec/support/(.+)\.rb$})                  { "spec" }
+  watch('config/routes.rb')                           { "spec/routing" }
+  watch('app/controllers/application_controller.rb')  { "spec/controllers" }
+  
+  # Capybara request specs
+  watch(%r{^app/views/(.+)/.*\.(erb|haml)$})          { |m| "spec/requests/#{m[1]}_spec.rb" }
+  
+  # Turnip features and steps
+  watch(%r{^spec/acceptance/(.+)\.feature$})
+  watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$})   { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
+end
+
+
+guard 'cucumber' do
+  watch(%r{^features/.+\.feature$})
+  watch(%r{^features/support/.+$})          { 'features' }
+  watch(%r{^features/step_definitions/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' }
+end
-- 
GitLab