-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGuardfile
58 lines (48 loc) · 2.06 KB
/
Guardfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# A sample Guardfile
# More info at https://github.com/guard/guard#readme
group 'i' do # intergation
guard 'rspec', :spec_paths => ['spec/integration', 'spec/cells'], cli: "--color --format documentation", version: 2 do
watch('spec/spec_helper.rb') { "spec/integration" }
watch(%r{^spec/integration/(.+)_spec\.rb$})
watch(%r{^spec/cells/(.+)_spec\.rb$})
# Rails example
watch(%r{^app/(.*)(\.erb|\.haml)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
watch(%r{^app/(.*)(\.erb|\.haml)$}) { "spec/integration" }
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/integration", "spec/cells"] }
watch('config/routes.rb') { "spec/integration" }
watch('app/controllers/application_controller.rb') { "spec/controllers" }
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
# ...
end
end
group 'u' do # unit
guard 'rspec', :spec_paths => [
'spec/models',
'spec/lib',
'spec/exhibits',
'spec/helpers'
],
cli: "--color --format documentation", version: 2 do
watch('spec/spec_helper_lite.rb')
watch(%r{^spec/(.+)_spec\.rb$})
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
# ...
end
end
group 's' do # system
guard 'bundler' do
watch('Gemfile')
# Uncomment next line if Gemfile contain `gemspec' command
# watch(/^.+\.gemspec/)
end
guard 'shell' do
def refresh_tags
`ctags-exuberant -f tags -e -R lib app spec public config`
puts 'tags refreshed'
end
watch(%r{^(lib|app|spec|public|config)/.*\.rb$}) {|m| refresh_tags }
end
end