guard-spork 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +22 -14
- data/lib/guard/spork.rb +8 -8
- data/lib/guard/spork/runner.rb +14 -14
- data/lib/guard/spork/templates/Guardfile +6 -6
- data/lib/guard/spork/version.rb +1 -1
- metadata +16 -15
data/README.rdoc
CHANGED
@@ -7,7 +7,7 @@ Spork guard allows to automatically & intelligently start/reload your RSpec/Cucu
|
|
7
7
|
|
8
8
|
== Install
|
9
9
|
|
10
|
-
Please be sure to have {
|
10
|
+
Please be sure to have {Guard}[http://github.com/guard/guard] installed before continue.
|
11
11
|
|
12
12
|
Install the gem:
|
13
13
|
|
@@ -23,28 +23,28 @@ Add guard definition to your Guardfile with:
|
|
23
23
|
|
24
24
|
== Usage
|
25
25
|
|
26
|
-
Please read {
|
26
|
+
Please read {Guard usage doc}[http://github.com/guard/guard#readme]
|
27
27
|
|
28
28
|
== Guardfile
|
29
29
|
|
30
30
|
Spork guard can be really be adapated to all kind of projects.
|
31
|
-
Please read {
|
31
|
+
Please read {Guard doc}[http://github.com/guard/guard#readme] for more info about Guardfile DSL.
|
32
32
|
|
33
|
-
!!!
|
33
|
+
!!! IMPORTANT: place Spork guard before rspec/cucumber guards !!!
|
34
34
|
|
35
35
|
=== Rails app
|
36
36
|
|
37
37
|
guard 'spork' do
|
38
|
-
watch('
|
39
|
-
watch('
|
40
|
-
watch(
|
41
|
-
watch(
|
42
|
-
watch('
|
38
|
+
watch('config/application.rb')
|
39
|
+
watch('config/environment.rb')
|
40
|
+
watch(%r{^config/environments/.*\.rb$})
|
41
|
+
watch(%r{^config/initializers/.*\.rb$})
|
42
|
+
watch('spec/spec_helper.rb')
|
43
43
|
end
|
44
44
|
|
45
45
|
== Options
|
46
46
|
|
47
|
-
Spork guard automatically detect RSpec/Cucumber/Bundler presence but you can
|
47
|
+
Spork guard automatically detect RSpec/Cucumber/Bundler presence but you can disable any of them with the corresponding options:
|
48
48
|
|
49
49
|
guard 'spork', :cucumber => false, :bundler => false do
|
50
50
|
...
|
@@ -52,13 +52,21 @@ Spork guard automatically detect RSpec/Cucumber/Bundler presence but you can dis
|
|
52
52
|
|
53
53
|
Available options:
|
54
54
|
|
55
|
-
:wait => 30
|
55
|
+
:wait => 30 # Seconds to wait server launch, default 20
|
56
56
|
:cucumber => false
|
57
57
|
:rspec => false
|
58
|
-
:bundler => false
|
59
|
-
:rspec_port => xxxx
|
58
|
+
:bundler => false # don't use "bundle exec"
|
59
|
+
:rspec_port => xxxx # default 8989
|
60
60
|
:cucumber_port => xxxx # default 8990
|
61
61
|
|
62
|
+
== Common troubleshooting
|
63
|
+
|
64
|
+
If you can start Spork manually but get the following error message when using Spork guard:
|
65
|
+
|
66
|
+
Starting Spork for RSpec ERROR: Could not start Spork for RSpec. Make sure you can use it manually first.
|
67
|
+
|
68
|
+
Try to increase the value of the :wait option before any further investigation.
|
69
|
+
|
62
70
|
== Development
|
63
71
|
|
64
72
|
- Source hosted at {GitHub}[http://github.com/guard/guard-spork]
|
@@ -69,4 +77,4 @@ you make.
|
|
69
77
|
|
70
78
|
== Authors
|
71
79
|
|
72
|
-
{Thibaud Guillaume-Gentil}[http://github.com/thibaudgg]
|
80
|
+
{Thibaud Guillaume-Gentil}[http://github.com/thibaudgg]
|
data/lib/guard/spork.rb
CHANGED
@@ -3,34 +3,34 @@ require 'guard/guard'
|
|
3
3
|
|
4
4
|
module Guard
|
5
5
|
class Spork < Guard
|
6
|
-
|
6
|
+
|
7
7
|
autoload :Runner, 'guard/spork/runner'
|
8
8
|
attr_accessor :runner
|
9
|
-
|
9
|
+
|
10
10
|
def initialize(watchers = [], options = {})
|
11
11
|
super
|
12
12
|
@runner = Runner.new(options)
|
13
|
-
|
13
|
+
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
def start
|
17
17
|
runner.kill_sporks
|
18
18
|
runner.launch_sporks("start")
|
19
19
|
end
|
20
|
-
|
20
|
+
|
21
21
|
def reload
|
22
22
|
runner.kill_sporks
|
23
23
|
runner.launch_sporks("reload")
|
24
24
|
end
|
25
|
-
|
25
|
+
|
26
26
|
def run_on_change(paths)
|
27
27
|
runner.kill_sporks
|
28
28
|
runner.launch_sporks("reload")
|
29
29
|
end
|
30
|
-
|
30
|
+
|
31
31
|
def stop
|
32
32
|
runner.kill_sporks
|
33
33
|
end
|
34
|
-
|
34
|
+
|
35
35
|
end
|
36
36
|
end
|
data/lib/guard/spork/runner.rb
CHANGED
@@ -4,32 +4,32 @@ module Guard
|
|
4
4
|
class Spork
|
5
5
|
class Runner
|
6
6
|
attr_accessor :options
|
7
|
-
|
7
|
+
|
8
8
|
def initialize(options = {})
|
9
9
|
options[:wait] ||= 20 # seconds
|
10
10
|
options[:rspec_port] ||= 8989
|
11
11
|
options[:cucumber_port] ||= 8990
|
12
12
|
@options = options
|
13
13
|
end
|
14
|
-
|
14
|
+
|
15
15
|
def launch_sporks(action)
|
16
16
|
UI.info "#{action.capitalize}ing Spork for #{sporked_gems} ", :reset => true
|
17
17
|
system(spork_command("rspec")) if rspec?
|
18
18
|
system(spork_command("cucumber")) if cucumber?
|
19
19
|
verify_launches(action)
|
20
20
|
end
|
21
|
-
|
21
|
+
|
22
22
|
def kill_sporks
|
23
23
|
spork_pids.each { |pid| Process.kill("KILL", pid) }
|
24
24
|
end
|
25
|
-
|
25
|
+
|
26
26
|
private
|
27
|
-
|
27
|
+
|
28
28
|
def spork_command(type)
|
29
29
|
cmd_parts = []
|
30
30
|
cmd_parts << "bundle exec" if bundler?
|
31
31
|
cmd_parts << "spork"
|
32
|
-
|
32
|
+
|
33
33
|
case type
|
34
34
|
when "rspec"
|
35
35
|
cmd_parts << "-p #{options[:rspec_port]}"
|
@@ -37,11 +37,11 @@ module Guard
|
|
37
37
|
cmd_parts << "cu"
|
38
38
|
cmd_parts << "-p #{options[:cucumber_port]}"
|
39
39
|
end
|
40
|
-
|
40
|
+
|
41
41
|
cmd_parts << ">/dev/null 2>&1 < /dev/null &"
|
42
42
|
cmd_parts.join(" ")
|
43
43
|
end
|
44
|
-
|
44
|
+
|
45
45
|
def verify_launches(action)
|
46
46
|
options[:wait].times do
|
47
47
|
sleep 1
|
@@ -60,30 +60,30 @@ module Guard
|
|
60
60
|
UI.error "Could not #{action} Spork for #{sporked_gems}. Make sure you can use it manually first."
|
61
61
|
Notifier.notify "#{sporked_gems} NOT #{action}ed", :title => "Spork", :image => :failed
|
62
62
|
end
|
63
|
-
|
63
|
+
|
64
64
|
def spork_pids
|
65
65
|
`ps aux | awk '/spork/&&!/awk/{print $2;}'`.split("\n").map { |pid| pid.to_i }
|
66
66
|
end
|
67
|
-
|
67
|
+
|
68
68
|
def sporked_gems
|
69
69
|
gems = []
|
70
70
|
gems << "RSpec" if rspec?
|
71
71
|
gems << "Cucumber" if cucumber?
|
72
72
|
gems.join(' & ')
|
73
73
|
end
|
74
|
-
|
74
|
+
|
75
75
|
def bundler?
|
76
76
|
@bundler ||= File.exist?("#{Dir.pwd}/Gemfile") && options[:bundler] != false
|
77
77
|
end
|
78
|
-
|
78
|
+
|
79
79
|
def rspec?
|
80
80
|
@rspec ||= File.exist?("#{Dir.pwd}/spec") && options[:rspec] != false
|
81
81
|
end
|
82
|
-
|
82
|
+
|
83
83
|
def cucumber?
|
84
84
|
@cucumber ||= File.exist?("#{Dir.pwd}/features") && options[:cucumber] != false
|
85
85
|
end
|
86
|
-
|
86
|
+
|
87
87
|
end
|
88
88
|
end
|
89
89
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
guard 'spork' do
|
2
|
-
watch('
|
3
|
-
watch('
|
4
|
-
watch(
|
5
|
-
watch(
|
6
|
-
watch('
|
7
|
-
end
|
2
|
+
watch('config/application.rb')
|
3
|
+
watch('config/environment.rb')
|
4
|
+
watch(%r{^config/environments/.*\.rb$})
|
5
|
+
watch(%r{^config/initializers/.*\.rb$})
|
6
|
+
watch('spec/spec_helper.rb')
|
7
|
+
end
|
data/lib/guard/spork/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: guard-spork
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 19
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 4
|
10
|
+
version: 0.1.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Thibaud Guillaume-Gentil
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2011-02-08 00:00:00 +01:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -26,12 +26,12 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
hash:
|
29
|
+
hash: 19
|
30
30
|
segments:
|
31
31
|
- 0
|
32
32
|
- 2
|
33
|
-
-
|
34
|
-
version: 0.2.
|
33
|
+
- 2
|
34
|
+
version: 0.2.2
|
35
35
|
type: :runtime
|
36
36
|
version_requirements: *id001
|
37
37
|
- !ruby/object:Gem::Dependency
|
@@ -74,11 +74,12 @@ dependencies:
|
|
74
74
|
requirements:
|
75
75
|
- - ~>
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
hash:
|
77
|
+
hash: 7
|
78
78
|
segments:
|
79
79
|
- 2
|
80
|
-
-
|
81
|
-
|
80
|
+
- 2
|
81
|
+
- 0
|
82
|
+
version: 2.2.0
|
82
83
|
type: :development
|
83
84
|
version_requirements: *id004
|
84
85
|
- !ruby/object:Gem::Dependency
|
@@ -89,12 +90,12 @@ dependencies:
|
|
89
90
|
requirements:
|
90
91
|
- - ~>
|
91
92
|
- !ruby/object:Gem::Version
|
92
|
-
hash:
|
93
|
+
hash: 9
|
93
94
|
segments:
|
94
95
|
- 0
|
95
96
|
- 1
|
96
|
-
-
|
97
|
-
version: 0.1.
|
97
|
+
- 9
|
98
|
+
version: 0.1.9
|
98
99
|
type: :development
|
99
100
|
version_requirements: *id005
|
100
101
|
description: Guard::Spork automatically manage Spork DRb servers
|
@@ -145,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
145
146
|
requirements: []
|
146
147
|
|
147
148
|
rubyforge_project: guard-spork
|
148
|
-
rubygems_version: 1.
|
149
|
+
rubygems_version: 1.5.0
|
149
150
|
signing_key:
|
150
151
|
specification_version: 3
|
151
152
|
summary: Guard gem for Spork
|