123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- guard :bundler do
- require 'guard/bundler'
- require 'guard/bundler/verify'
- helper = Guard::Bundler::Verify.new
- files = ['Gemfile']
- files += Dir['*.gemspec'] if files.any? { |f| helper.uses_gemspec?(f) }
- files.each { |file| watch(helper.real_path(file)) }
- end
- guard 'rails' do
- watch('Gemfile.lock')
- watch(%r{^(config|lib)/.*})
- end
- # Sidekiq files
- # guard 'sidekiq', :config => '../engine/config/sidekiq.yml' do
- # watch(%r{^workers/(.+)\.rb$})
- # watch(%r{^models/(.+)\.rb$})
- # end
- guard :rspec, cmd: "bundle exec rspec" do
- require "guard/rspec/dsl"
- dsl = Guard::RSpec::Dsl.new(self)
- # RSpec files
- rspec = dsl.rspec
- watch(rspec.spec_helper) { rspec.spec_dir }
- watch(rspec.spec_support) { rspec.spec_dir }
- watch(rspec.spec_files)
- # Ruby files
- ruby = dsl.ruby
- dsl.watch_spec_files_for(ruby.lib_files)
- # Rails files
- rails = dsl.rails(view_extensions: %w(erb haml slim))
- dsl.watch_spec_files_for(rails.app_files)
- dsl.watch_spec_files_for(rails.views)
- watch(rails.controllers) do |m|
- [
- rspec.spec.call("routing/#{m[1]}_routing"),
- rspec.spec.call("controllers/#{m[1]}_controller"),
- rspec.spec.call("features/#{m[1]}_spec")
- ]
- end
- # Rails config changes
- watch(rails.spec_helper) { rspec.spec_dir }
- watch(rails.routes) { "#{rspec.spec_dir}/routing" }
- watch(rails.app_controller) { "#{rspec.spec_dir}/controllers" }
- # Capybara features specs
- watch(rails.view_dirs) { |m| rspec.spec.call("features/#{m[1]}") }
- watch(rails.layouts) { |m| rspec.spec.call("features/#{m[1]}") }
- # Turnip features and steps
- watch(%r{^spec/acceptance/(.+)\.feature$})
- watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) do |m|
- Dir[File.join("**/#{m[1]}.feature")][0] || "spec/acceptance"
- end
- end
|