guard 0.3.3 → 0.3.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.markdown +269 -0
- data/lib/guard.rb +7 -2
- data/lib/guard/version.rb +2 -2
- metadata +4 -4
- data/README.rdoc +0 -228
data/README.markdown
ADDED
@@ -0,0 +1,269 @@
|
|
1
|
+
Guard
|
2
|
+
=====
|
3
|
+
|
4
|
+
Guard is a command line tool that easily handle events on files modifications.
|
5
|
+
|
6
|
+
Features
|
7
|
+
--------
|
8
|
+
|
9
|
+
* [FSEvent](http://en.wikipedia.org/wiki/FSEvents) support on Mac OS X 10.5+ (without RubyCocoa!, [rb-fsevent gem, >= 0.3.5](https://rubygems.org/gems/rb-fsevent) required).
|
10
|
+
* [Inotify](http://en.wikipedia.org/wiki/Inotify) support on Linux ([rb-inotify gem, >= 0.5.1](https://rubygems.org/gems/rb-inotify) required).
|
11
|
+
* Polling on the other operating systems (help us to support more OS).
|
12
|
+
* Automatic & Super fast (when polling is not used) files modifications detection (even new files are detected).
|
13
|
+
* Growl notifications ([growlnotify](http://growl.info/documentation/growlnotify.php) & [growl gem](https://rubygems.org/gems/growl) required).
|
14
|
+
* Libnotify notifications ([libnotify gem](https://rubygems.org/gems/libnotify) required).
|
15
|
+
* Tested on Ruby 1.8.6, 1.8.7 & 1.9.2.
|
16
|
+
|
17
|
+
Install
|
18
|
+
-------
|
19
|
+
|
20
|
+
Install the gem:
|
21
|
+
|
22
|
+
$ gem install guard
|
23
|
+
|
24
|
+
Add it to your Gemfile (inside the <tt>test</tt> group):
|
25
|
+
|
26
|
+
``` ruby
|
27
|
+
gem 'guard'
|
28
|
+
```
|
29
|
+
|
30
|
+
Generate an empty Guardfile with:
|
31
|
+
|
32
|
+
$ guard init
|
33
|
+
|
34
|
+
Add the guards you need to your Guardfile (see the existing guards below).
|
35
|
+
|
36
|
+
### On Mac OS X
|
37
|
+
|
38
|
+
Install the rb-fsevent gem for [FSEvent](http://en.wikipedia.org/wiki/FSEvents) support:
|
39
|
+
|
40
|
+
$ gem install rb-fsevent
|
41
|
+
|
42
|
+
Install the Growl gem if you want notification support:
|
43
|
+
|
44
|
+
$ gem install growl
|
45
|
+
|
46
|
+
And add it to you Gemfile:
|
47
|
+
|
48
|
+
``` ruby
|
49
|
+
gem 'growl'
|
50
|
+
```
|
51
|
+
|
52
|
+
### On Linux
|
53
|
+
|
54
|
+
Install the rb-inotify gem for [inotify](http://en.wikipedia.org/wiki/Inotify) support:
|
55
|
+
|
56
|
+
$ gem install rb-inotify
|
57
|
+
|
58
|
+
Install the Libnotify gem if you want notification support:
|
59
|
+
|
60
|
+
$ gem install libnotify
|
61
|
+
|
62
|
+
And add it to you Gemfile:
|
63
|
+
|
64
|
+
``` ruby
|
65
|
+
gem 'libnotify'
|
66
|
+
```
|
67
|
+
|
68
|
+
Usage
|
69
|
+
-----
|
70
|
+
|
71
|
+
Just launch Guard inside your Ruby / Rails project with:
|
72
|
+
|
73
|
+
$ guard [start]
|
74
|
+
|
75
|
+
or if you use Bundler, to run the Guard executable specific to your bundle:
|
76
|
+
|
77
|
+
$ bundle exec guard
|
78
|
+
|
79
|
+
Command line options
|
80
|
+
--------------------
|
81
|
+
|
82
|
+
Shell can be cleared after each change with:
|
83
|
+
|
84
|
+
$ guard --clear
|
85
|
+
$ guard -c # shortcut
|
86
|
+
|
87
|
+
Notifications (growl/libnotify) can be disabled with:
|
88
|
+
|
89
|
+
$ guard --notify false
|
90
|
+
$ guard -n false # shortcut
|
91
|
+
|
92
|
+
The guards to start can be specified by group (see the Guardfile DSL below) specifying the <tt>--group</tt> (or <tt>-g</tt>) option:
|
93
|
+
|
94
|
+
$ guard --group group_name another_group_name
|
95
|
+
$ guard -g group_name another_group_name # shortcut
|
96
|
+
|
97
|
+
Options list is available with:
|
98
|
+
|
99
|
+
$ guard help [TASK]
|
100
|
+
|
101
|
+
Signal handlers
|
102
|
+
---------------
|
103
|
+
|
104
|
+
Signal handlers are used to interact with Guard:
|
105
|
+
|
106
|
+
* <tt>Ctrl-C</tt> - Calls each guard's <tt>stop</tt> method, in the same order they are declared in the Guardfile, and then quits Guard itself.
|
107
|
+
* <tt>Ctrl-\\</tt> - Calls each guard's <tt>run_all</tt> method, in the same order they are declared in the Guardfile.
|
108
|
+
* <tt>Ctrl-Z</tt> - Calls each guard's <tt>reload</tt> method, in the same order they are declared in the Guardfile.
|
109
|
+
|
110
|
+
Available Guards
|
111
|
+
----------------
|
112
|
+
|
113
|
+
[Available Guards list](https://github.com/guard/guard/wiki/List-of-available-Guards) (on the wiki now)
|
114
|
+
|
115
|
+
### Add a guard to your Guardfile
|
116
|
+
|
117
|
+
Add it to your Gemfile (inside the <tt>test</tt> group):
|
118
|
+
|
119
|
+
``` ruby
|
120
|
+
gem '<guard-name>'
|
121
|
+
```
|
122
|
+
|
123
|
+
Insert default guard's definition to your Guardfile by running this command:
|
124
|
+
|
125
|
+
$ guard init <guard-name>
|
126
|
+
|
127
|
+
You are good to go!
|
128
|
+
|
129
|
+
Guardfile DSL
|
130
|
+
-------------
|
131
|
+
|
132
|
+
The Guardfile DSL consists of just three simple methods: <tt>guard</tt>, <tt>watch</tt> & <tt>group</tt>.
|
133
|
+
|
134
|
+
Required:
|
135
|
+
* The <tt>guard</tt> method allows you to add a guard with an optional hash of options.
|
136
|
+
* The <tt>watch</tt> method allows you to define which files are supervised by this guard. An optional block can be added to overwrite the paths sent to the <tt>run_on_change</tt> guard method or to launch any arbitrary command.
|
137
|
+
|
138
|
+
Optional:
|
139
|
+
* The <tt>group</tt> method allows you to group several guards together. Groups to be run can be specified with the Guard DSL option <tt>--group</tt> (or <tt>-g</tt>). This comes in handy especially when you have a huge Guardfile and want to focus your development on a certain part.
|
140
|
+
|
141
|
+
Example:
|
142
|
+
|
143
|
+
``` ruby
|
144
|
+
group 'backend' do
|
145
|
+
guard 'bundler' do
|
146
|
+
watch('Gemfile')
|
147
|
+
end
|
148
|
+
|
149
|
+
guard 'rspec', :cli => '--color --format doc' do
|
150
|
+
# Regexp watch patterns are matched with Regexp#match
|
151
|
+
watch(%r{^spec/.+_spec\.rb})
|
152
|
+
watch(%r{^lib/(.+)\.rb}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
153
|
+
watch(%r{^spec/models/.+\.rb}) { ["spec/models", "spec/acceptance"] }
|
154
|
+
watch(%r{^spec/.+\.rb}) { `say hello` }
|
155
|
+
|
156
|
+
# String watch patterns are matched with simple '=='
|
157
|
+
watch('spec/spec_helper.rb') { "spec" }
|
158
|
+
end
|
159
|
+
end
|
160
|
+
|
161
|
+
group 'frontend' do
|
162
|
+
guard 'coffeescript', :output => 'public/javascripts/compiled' do
|
163
|
+
watch(%r{^app/coffeescripts/.+\.coffee})
|
164
|
+
end
|
165
|
+
|
166
|
+
guard 'livereload' do
|
167
|
+
watch(%r{^app/.+\.(erb|haml)})
|
168
|
+
end
|
169
|
+
end
|
170
|
+
```
|
171
|
+
|
172
|
+
Create a new guard
|
173
|
+
------------------
|
174
|
+
|
175
|
+
Creating a new guard is very easy, just create a new gem (<tt>bundle gem</tt> if you use Bundler) with this basic structure:
|
176
|
+
|
177
|
+
lib/
|
178
|
+
guard/
|
179
|
+
guard-name/
|
180
|
+
templates/
|
181
|
+
Guardfile (needed for guard init <guard-name>)
|
182
|
+
guard-name.rb
|
183
|
+
|
184
|
+
<tt>Guard::GuardName</tt> (in <tt>lib/guard/guard-name.rb</tt>) must inherit from <tt>Guard::Guard</tt> and should overwrite at least one of the five basic <tt>Guard::Guard</tt> instance methods. Example:
|
185
|
+
|
186
|
+
``` ruby
|
187
|
+
require 'guard'
|
188
|
+
require 'guard/guard'
|
189
|
+
|
190
|
+
module Guard
|
191
|
+
class GuardName < Guard
|
192
|
+
|
193
|
+
def initialize(watchers=[], options={})
|
194
|
+
super
|
195
|
+
# init stuff here, thx!
|
196
|
+
end
|
197
|
+
|
198
|
+
# =================
|
199
|
+
# = Guard methods =
|
200
|
+
# =================
|
201
|
+
|
202
|
+
# If one of those methods raise an exception, the Guard::GuardName instance
|
203
|
+
# will be removed from the active guards.
|
204
|
+
|
205
|
+
# Called once when Guard starts
|
206
|
+
# Please override initialize method to init stuff
|
207
|
+
def start
|
208
|
+
true
|
209
|
+
end
|
210
|
+
|
211
|
+
# Called on Ctrl-C signal (when Guard quits)
|
212
|
+
def stop
|
213
|
+
true
|
214
|
+
end
|
215
|
+
|
216
|
+
# Called on Ctrl-Z signal
|
217
|
+
# This method should be mainly used for "reload" (really!) actions like reloading passenger/spork/bundler/...
|
218
|
+
def reload
|
219
|
+
true
|
220
|
+
end
|
221
|
+
|
222
|
+
# Called on Ctrl-/ signal
|
223
|
+
# This method should be principally used for long action like running all specs/tests/...
|
224
|
+
def run_all
|
225
|
+
true
|
226
|
+
end
|
227
|
+
|
228
|
+
# Called on file(s) modifications
|
229
|
+
def run_on_change(paths)
|
230
|
+
true
|
231
|
+
end
|
232
|
+
|
233
|
+
end
|
234
|
+
end
|
235
|
+
```
|
236
|
+
|
237
|
+
Please take a look at the existing guards' source code (see the list above) for more concrete example.
|
238
|
+
|
239
|
+
Alternatively, a new guard can be added inline to a Guardfile with this basic structure:
|
240
|
+
|
241
|
+
``` ruby
|
242
|
+
require 'guard/guard'
|
243
|
+
|
244
|
+
module ::Guard
|
245
|
+
class Example < ::Guard::Guard
|
246
|
+
def run_all
|
247
|
+
true
|
248
|
+
end
|
249
|
+
|
250
|
+
def run_on_change(paths)
|
251
|
+
true
|
252
|
+
end
|
253
|
+
end
|
254
|
+
end
|
255
|
+
```
|
256
|
+
|
257
|
+
Development
|
258
|
+
-----------
|
259
|
+
|
260
|
+
* Source hosted at [GitHub](https://github.com/guard/guard).
|
261
|
+
* Report Issues/Questions/Feature requests on [GitHub Issues](https://github.com/guard/guard/issues).
|
262
|
+
|
263
|
+
Pull requests are very welcome! Make sure your patches are well tested. Please create a topic branch for every separate change
|
264
|
+
you make.
|
265
|
+
|
266
|
+
Author
|
267
|
+
------
|
268
|
+
|
269
|
+
[Thibaud Guillaume-Gentil](https://github.com/thibaudgg)
|
data/lib/guard.rb
CHANGED
@@ -83,10 +83,15 @@ module Guard
|
|
83
83
|
end
|
84
84
|
|
85
85
|
def get_guard_class(name)
|
86
|
-
|
86
|
+
try_to_load_gem name
|
87
87
|
self.const_get(self.constants.find{|klass_name| klass_name.to_s.downcase == name.downcase })
|
88
|
+
rescue TypeError
|
89
|
+
UI.error "Could not find load find gem 'guard-#{name}' or find class Guard::#{name}"
|
90
|
+
end
|
91
|
+
|
92
|
+
def try_to_load_gem(name)
|
93
|
+
require "guard/#{name.downcase}"
|
88
94
|
rescue LoadError
|
89
|
-
UI.error "Could not find gem 'guard-#{name}', please add it in your Gemfile."
|
90
95
|
end
|
91
96
|
|
92
97
|
def locate_guard(name)
|
data/lib/guard/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
module Guard
|
2
|
-
VERSION = "0.3.
|
3
|
-
end
|
2
|
+
VERSION = "0.3.4"
|
3
|
+
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: guard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.3.
|
5
|
+
version: 0.3.4
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Thibaud Guillaume-Gentil
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-04-
|
13
|
+
date: 2011-04-25 00:00:00 +02:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -86,7 +86,7 @@ files:
|
|
86
86
|
- lib/guard/watcher.rb
|
87
87
|
- lib/guard.rb
|
88
88
|
- LICENSE
|
89
|
-
- README.
|
89
|
+
- README.markdown
|
90
90
|
has_rdoc: true
|
91
91
|
homepage: http://rubygems.org/gems/guard
|
92
92
|
licenses: []
|
@@ -111,7 +111,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
111
111
|
requirements: []
|
112
112
|
|
113
113
|
rubyforge_project: guard
|
114
|
-
rubygems_version: 1.
|
114
|
+
rubygems_version: 1.6.2
|
115
115
|
signing_key:
|
116
116
|
specification_version: 3
|
117
117
|
summary: Guard keep an eye on your files modifications.
|
data/README.rdoc
DELETED
@@ -1,228 +0,0 @@
|
|
1
|
-
= Guard
|
2
|
-
|
3
|
-
Guard is a command line tool that easily handle events on files modifications.
|
4
|
-
|
5
|
-
== Features
|
6
|
-
|
7
|
-
- {FSEvent}[http://en.wikipedia.org/wiki/FSEvents] support on Mac OS X 10.5+ (without RubyCocoa!, {rb-fsevent gem, >= 0.3.5}[https://rubygems.org/gems/rb-fsevent] required).
|
8
|
-
- {Inotify}[http://en.wikipedia.org/wiki/Inotify] support on Linux ({rb-inotify gem, >= 0.5.1}[https://rubygems.org/gems/rb-inotify] required).
|
9
|
-
- Polling on the other operating systems (help us to support more OS).
|
10
|
-
- Automatic & Super fast (when polling is not used) files modifications detection (even new files are detected).
|
11
|
-
- Growl notifications ({growlnotify}[http://growl.info/documentation/growlnotify.php] & {growl gem}[https://rubygems.org/gems/growl] required).
|
12
|
-
- Libnotify notifications ({libnotify gem}[https://rubygems.org/gems/libnotify] required).
|
13
|
-
- Tested on Ruby 1.8.6, 1.8.7 & 1.9.2.
|
14
|
-
|
15
|
-
== Install
|
16
|
-
|
17
|
-
Install the gem:
|
18
|
-
|
19
|
-
$ gem install guard
|
20
|
-
|
21
|
-
Add it to your Gemfile (inside the <tt>test</tt> group):
|
22
|
-
|
23
|
-
gem 'guard'
|
24
|
-
|
25
|
-
Generate an empty Guardfile with:
|
26
|
-
|
27
|
-
$ guard init
|
28
|
-
|
29
|
-
Add the guards you need to your Guardfile (see the existing guards below).
|
30
|
-
|
31
|
-
=== On Mac OS X
|
32
|
-
|
33
|
-
Install the rb-fsevent gem for {FSEvent}[http://en.wikipedia.org/wiki/FSEvents] support:
|
34
|
-
|
35
|
-
$ gem install rb-fsevent
|
36
|
-
|
37
|
-
Install the Growl gem if you want notification support:
|
38
|
-
|
39
|
-
$ gem install growl
|
40
|
-
|
41
|
-
And add it to you Gemfile:
|
42
|
-
|
43
|
-
gem 'growl'
|
44
|
-
|
45
|
-
=== On Linux
|
46
|
-
|
47
|
-
Install the rb-inotify gem for {inotify}[http://en.wikipedia.org/wiki/Inotify] support:
|
48
|
-
|
49
|
-
$ gem install rb-inotify
|
50
|
-
|
51
|
-
Install the Libnotify gem if you want notification support:
|
52
|
-
|
53
|
-
$ gem install libnotify
|
54
|
-
|
55
|
-
And add it to you Gemfile:
|
56
|
-
|
57
|
-
gem 'libnotify'
|
58
|
-
|
59
|
-
== Usage
|
60
|
-
|
61
|
-
Just launch Guard inside your Ruby / Rails project with:
|
62
|
-
|
63
|
-
$ guard [start]
|
64
|
-
|
65
|
-
or if you use Bundler, to run the Guard executable specific to your bundle:
|
66
|
-
|
67
|
-
$ bundle exec guard
|
68
|
-
|
69
|
-
== Command line options
|
70
|
-
|
71
|
-
Shell can be cleared after each change with:
|
72
|
-
|
73
|
-
$ guard --clear
|
74
|
-
$ guard -c # shortcut
|
75
|
-
|
76
|
-
Notifications (growl/libnotify) can be disabled with:
|
77
|
-
|
78
|
-
$ guard --notify false
|
79
|
-
$ guard -n false # shortcut
|
80
|
-
|
81
|
-
The guards to start can be specified by group (see the Guardfile DSL below) specifying the <tt>--group</tt> (or <tt>-g</tt>) option:
|
82
|
-
|
83
|
-
$ guard --group group_name another_group_name
|
84
|
-
$ guard -g group_name another_group_name # shortcut
|
85
|
-
|
86
|
-
Options list is available with:
|
87
|
-
|
88
|
-
$ guard help [TASK]
|
89
|
-
|
90
|
-
== Signal handlers
|
91
|
-
|
92
|
-
Signal handlers are used to interact with Guard:
|
93
|
-
|
94
|
-
- <tt>Ctrl-C</tt> - Calls each guard's <tt>stop</tt> method, in the same order they are declared in the Guardfile, and then quits Guard itself.
|
95
|
-
- <tt>Ctrl-\\</tt> - Calls each guard's <tt>run_all</tt> method, in the same order they are declared in the Guardfile.
|
96
|
-
- <tt>Ctrl-Z</tt> - Calls each guard's <tt>reload</tt> method, in the same order they are declared in the Guardfile.
|
97
|
-
|
98
|
-
== Available Guards
|
99
|
-
|
100
|
-
{Available Guards list}[https://github.com/guard/guard/wiki/List-of-available-Guards] (on the wiki now)
|
101
|
-
|
102
|
-
=== Add a guard to your Guardfile
|
103
|
-
|
104
|
-
Add it to your Gemfile (inside the <tt>test</tt> group):
|
105
|
-
|
106
|
-
gem '<guard-name>'
|
107
|
-
|
108
|
-
Insert default guard's definition to your Guardfile by running this command:
|
109
|
-
|
110
|
-
$ guard init <guard-name>
|
111
|
-
|
112
|
-
You are good to go!
|
113
|
-
|
114
|
-
== Guardfile DSL
|
115
|
-
|
116
|
-
The Guardfile DSL consists of just three simple methods: <tt>guard</tt>, <tt>watch</tt> & <tt>group</tt>.
|
117
|
-
|
118
|
-
Required:
|
119
|
-
- The <tt>guard</tt> method allows you to add a guard with an optional hash of options.
|
120
|
-
- The <tt>watch</tt> method allows you to define which files are supervised by this guard. An optional block can be added to overwrite the paths sent to the <tt>run_on_change</tt> guard method or to launch any arbitrary command.
|
121
|
-
|
122
|
-
Optional:
|
123
|
-
- The <tt>group</tt> method allows you to group several guards together. Groups to be run can be specified with the Guard DSL option <tt>--group</tt> (or <tt>-g</tt>). This comes in handy especially when you have a huge Guardfile and want to focus your development on a certain part.
|
124
|
-
|
125
|
-
Example:
|
126
|
-
|
127
|
-
group 'backend' do
|
128
|
-
guard 'bundler' do
|
129
|
-
watch('Gemfile')
|
130
|
-
end
|
131
|
-
|
132
|
-
guard 'rspec', :cli => '--color --format doc' do
|
133
|
-
# Regexp watch patterns are matched with Regexp#match
|
134
|
-
watch(%r{^spec/.+_spec\.rb})
|
135
|
-
watch(%r{^lib/(.+)\.rb}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
136
|
-
watch(%r{^spec/models/.+\.rb}) { ["spec/models", "spec/acceptance"] }
|
137
|
-
watch(%r{^spec/.+\.rb}) { `say hello` }
|
138
|
-
|
139
|
-
# String watch patterns are matched with simple '=='
|
140
|
-
watch('spec/spec_helper.rb') { "spec" }
|
141
|
-
end
|
142
|
-
end
|
143
|
-
|
144
|
-
group 'frontend' do
|
145
|
-
guard 'coffeescript', :output => 'public/javascripts/compiled' do
|
146
|
-
watch(%r{^app/coffeescripts/.+\.coffee})
|
147
|
-
end
|
148
|
-
|
149
|
-
guard 'livereload' do
|
150
|
-
watch(%r{^app/.+\.(erb|haml)})
|
151
|
-
end
|
152
|
-
end
|
153
|
-
|
154
|
-
== Create a new guard
|
155
|
-
|
156
|
-
Creating a new guard is very easy, just create a new gem (<tt>bundle gem</tt> if you use Bundler) with this basic structure:
|
157
|
-
|
158
|
-
lib/
|
159
|
-
guard/
|
160
|
-
guard-name/
|
161
|
-
templates/
|
162
|
-
Guardfile (needed for guard init <guard-name>)
|
163
|
-
guard-name.rb
|
164
|
-
|
165
|
-
<tt>Guard::GuardName</tt> (in <tt>lib/guard/guard-name.rb</tt>) must inherit from <tt>Guard::Guard</tt> and should overwrite at least one of the five basic <tt>Guard::Guard</tt> instance methods. Example:
|
166
|
-
|
167
|
-
require 'guard'
|
168
|
-
require 'guard/guard'
|
169
|
-
|
170
|
-
module Guard
|
171
|
-
class GuardName < Guard
|
172
|
-
|
173
|
-
def initialize(watchers=[], options={})
|
174
|
-
super
|
175
|
-
# init stuff here, thx!
|
176
|
-
end
|
177
|
-
|
178
|
-
# =================
|
179
|
-
# = Guard methods =
|
180
|
-
# =================
|
181
|
-
|
182
|
-
# If one of those methods raise an exception, the Guard::GuardName instance
|
183
|
-
# will be removed from the active guards.
|
184
|
-
|
185
|
-
# Called once when Guard starts
|
186
|
-
# Please override initialize method to init stuff
|
187
|
-
def start
|
188
|
-
true
|
189
|
-
end
|
190
|
-
|
191
|
-
# Called on Ctrl-C signal (when Guard quits)
|
192
|
-
def stop
|
193
|
-
true
|
194
|
-
end
|
195
|
-
|
196
|
-
# Called on Ctrl-Z signal
|
197
|
-
# This method should be mainly used for "reload" (really!) actions like reloading passenger/spork/bundler/...
|
198
|
-
def reload
|
199
|
-
true
|
200
|
-
end
|
201
|
-
|
202
|
-
# Called on Ctrl-/ signal
|
203
|
-
# This method should be principally used for long action like running all specs/tests/...
|
204
|
-
def run_all
|
205
|
-
true
|
206
|
-
end
|
207
|
-
|
208
|
-
# Called on file(s) modifications
|
209
|
-
def run_on_change(paths)
|
210
|
-
true
|
211
|
-
end
|
212
|
-
|
213
|
-
end
|
214
|
-
end
|
215
|
-
|
216
|
-
Please take a look at the existing guards' source code (see the list above) for more concrete example.
|
217
|
-
|
218
|
-
== Development
|
219
|
-
|
220
|
-
- Source hosted at {GitHub}[https://github.com/guard/guard].
|
221
|
-
- Report Issues/Questions/Feature requests on {GitHub Issues}[https://github.com/guard/guard/issues].
|
222
|
-
|
223
|
-
Pull requests are very welcome! Make sure your patches are well tested. Please create a topic branch for every separate change
|
224
|
-
you make.
|
225
|
-
|
226
|
-
== Authors
|
227
|
-
|
228
|
-
{Thibaud Guillaume-Gentil}[https://github.com/thibaudgg]
|