guard 0.8.3 → 0.8.4
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +98 -100
- data/lib/guard.rb +5 -2
- data/lib/guard/cli.rb +1 -1
- data/lib/guard/interactor.rb +20 -14
- data/lib/guard/version.rb +1 -1
- metadata +14 -14
data/CHANGELOG.md
CHANGED
@@ -1,45 +1,51 @@
|
|
1
|
+
## 0.8.4 - October 3, 2011
|
2
|
+
|
3
|
+
### Bug fix
|
4
|
+
|
5
|
+
- [#149](https://github.com/guard/guard/issues/149) & [#150](https://github.com/guard/guard/pull/150): Fix issue where interator thread was continuing to capture input from stdin while a guard is being executed. (reported by [@hardipe][], fixed by [@f1sherman][])
|
6
|
+
|
1
7
|
## 0.8.3 - October 1, 2011
|
2
8
|
|
3
|
-
###
|
9
|
+
### Bug fix
|
4
10
|
|
5
|
-
-
|
11
|
+
- [#145](https://github.com/guard/guard/pull/145): Fix over-utilization of CPU in Interactor. ([@johnbintz][])
|
6
12
|
|
7
|
-
###
|
13
|
+
### Improvements
|
8
14
|
|
9
|
-
-
|
15
|
+
- [#146](https://github.com/guard/guard/pull/146): Use a mutex instead of a lock for more efficient/simple locking. ([@f1sherman][])
|
10
16
|
- Make Guard implementation of `:task_has_failed` simple. ([@netzpirat][])
|
11
17
|
|
12
18
|
## 0.8.2 - September 30, 2011
|
13
19
|
|
14
|
-
###
|
20
|
+
### Bug fix
|
15
21
|
|
16
22
|
- Fixed guard stop to prevent run_guard_task(:stop) to be skipped [guard-spork issue #28](https://github.com/guard/guard-spork/issues/28). ([@thibaudgg][])
|
17
23
|
|
18
|
-
### Improvement
|
24
|
+
### Improvement
|
19
25
|
|
20
26
|
- Update docs regarding :task_has_failed. ([@netzpirat][])
|
21
27
|
|
22
28
|
## 0.8.1 - September 29, 2011
|
23
29
|
|
24
|
-
###
|
30
|
+
### Bug fix
|
25
31
|
|
26
|
-
-
|
32
|
+
- [#144](https://github.com/guard/guard/pull/144): Fix `guard init`. (reported by [@fabioyamate][], fixed by [@rymai][])
|
27
33
|
|
28
34
|
## 0.8.0 - September 28, 2011
|
29
35
|
|
30
|
-
###
|
36
|
+
### Bug fixes
|
31
37
|
|
32
|
-
-
|
33
|
-
-
|
38
|
+
- [#137](https://github.com/guard/guard/pull/137): Fix interacting with tools like ruby-debug. ([@hron][] & [@netzpirat][])
|
39
|
+
- [#138](https://github.com/guard/guard/pull/138): Fixed comments in example scaffold to reference interactions. ([@rmm5t][] & [@netzpirat][])
|
34
40
|
|
35
|
-
### New feature
|
41
|
+
### New feature
|
36
42
|
|
37
|
-
-
|
38
|
-
-
|
39
|
-
-
|
43
|
+
- [#136](https://github.com/guard/guard/pull/136): New CLI `:watch_all_modifications`/`-A` option to watch for deleted and moved files too. ([@limeyd][] & [@netzpirat][])
|
44
|
+
- [#97](https://github.com/guard/guard/issues/97): Guard dependencies. Task execution can now be halted if a Guard throws `:task_has_failed` and `Guard::Dsl#group` options include `:halt_on_fail => true`. ([@rymai][])
|
45
|
+
- [#121](https://github.com/guard/guard/issues/121): `Guard.guards` and `Guard.groups` are now smart accessors. Filters can be passed to find a specific Guard/group or several Guards/groups that match (see YARDoc). ([@rymai][] & [@ches][])
|
40
46
|
- New `Guard::Group` class to store groups defined in Guardfile (with `Guard::Dsl#group`). ([@rymai][])
|
41
47
|
|
42
|
-
###
|
48
|
+
### Improvements
|
43
49
|
|
44
50
|
- Specs refactoring. ([@netzpirat][])
|
45
51
|
- Full YARD documentation. ([@netzpirat][] & a little of [@rymai][])
|
@@ -53,233 +59,224 @@
|
|
53
59
|
- Posix Signals handlers (`Ctrl-C`, `Ctrl-\` and `Ctrl-Z`) are no more supported and replaced by `$stdin.gets`. Please refer to the "Interactions" section in the README for more information. ([@thibaudgg][])
|
54
60
|
- JRuby & Rubinius support (beta). ([@thibaudgg][] & [@netzpirat][])
|
55
61
|
|
56
|
-
### New
|
62
|
+
### New features
|
57
63
|
|
58
|
-
-
|
64
|
+
- [#42](https://github.com/guard/guard/pull/42): New DSL method: `callback` allows you to execute arbitrary code before or after any of the `start`, `stop`, `reload`, `run_all` and `run_on_change` guards' method. New [Wiki page](https://github.com/guard/guard/wiki/Hooks-and-callbacks) for documenting it. ([@monocle][] & [@rymai][])
|
59
65
|
- Ability to 'pause' files modification listening. Please refer to the "Interactions" section in the README for more information. ([@thibaudgg][])
|
60
66
|
|
61
|
-
### Improvement
|
67
|
+
### Improvement
|
62
68
|
|
63
69
|
- Remove the need to scan the whole directory after guard's `run_on_change` method. ([@thibaudgg][])
|
64
70
|
|
65
71
|
## 0.6.3 - September 1, 2011
|
66
72
|
|
67
|
-
### New features
|
73
|
+
### New features
|
68
74
|
|
69
|
-
-
|
70
|
-
-
|
75
|
+
- [#130](https://github.com/guard/guard/pull/130): Adds `ignore_paths` method to DSL. ([@ianwhite][])
|
76
|
+
- [#128](https://github.com/guard/guard/pull/128): Users can add additional settings to `~/.guard.rb` that augment the existing Guardfile. ([@tpope][])
|
71
77
|
|
72
78
|
## 0.6.2 - August 17, 2011
|
73
79
|
|
74
|
-
###
|
80
|
+
### Bug fixes
|
75
81
|
|
76
82
|
- Re-add the possibility to use the `growl` gem since the `growl_notify` gem this is currently known to not work in conjunction with Spork. ([@netzpirat][])
|
77
83
|
- Ensure that scoped groups and group name are symbolized before checking for inclusion. ([@rymai][])
|
78
84
|
|
79
|
-
### New features
|
85
|
+
### New features
|
80
86
|
|
81
87
|
- Groups are now stored in a `@groups` variable (will be used for future features). ([@rymai][])
|
82
88
|
- Guards will now receive their group in the options hash at initialization (will be used for future features). ([@rymai][])
|
83
89
|
|
84
|
-
### Improvement
|
90
|
+
### Improvement
|
85
91
|
|
86
92
|
- Explain the growl/growl_notify differences in the README. ([@netzpirat][])
|
87
93
|
|
88
94
|
## 0.6.1 - August 15, 2011
|
89
95
|
|
90
|
-
###
|
96
|
+
### Bug fixes
|
91
97
|
|
92
|
-
-
|
93
|
-
-
|
98
|
+
- [#120](https://github.com/guard/guard/pull/120): remove `guardfile_contents` when re-evaluating so that the Guardfile gets reloaded correctly. ([@mordaroso][])
|
99
|
+
- [#119](https://github.com/guard/guard/pull/119): `Dsl.evaluate_guardfile` uses all groups if none specified. ([@ches][])
|
94
100
|
|
95
101
|
## 0.6.0 - August 13, 2011
|
96
102
|
|
97
|
-
###
|
103
|
+
### Bug fixes
|
98
104
|
|
99
105
|
- Pull request [#107](https://github.com/guard/guard/pull/107): Small spelling fix. ([@dnagir][])
|
100
106
|
- `Dir.glob` now ignores files that don't need to be watched. ([@rymai][])
|
101
107
|
|
102
|
-
### New
|
108
|
+
### New feature
|
103
109
|
|
104
110
|
- Pull request [#112](https://github.com/guard/guard/pull/112): Add `list` command to CLI. ([@docwhat][])
|
105
111
|
|
106
|
-
### Improvements
|
112
|
+
### Improvements
|
107
113
|
|
108
|
-
-
|
109
|
-
-
|
110
|
-
-
|
114
|
+
- [#99](https://github.com/guard/guard/pull/99): [OS X] Switch from growl gem to growl_notify gem. ([@johnbintz][])
|
115
|
+
- [#115](https://github.com/guard/guard/pull/115): [Linux] Add `:transient => true` to default libnotify options. ([@zonque][])
|
116
|
+
- [#95](https://github.com/guard/guard/pull/95): Output system commands and options to be executed when in debug mode. ([@uk-ar][] and [@netzpirat][])
|
111
117
|
- `Guard::Dsl.revaluate_guardfile` has been renamed to `Guard::Dsl.reevaluate_guardfile`. ([@rymai][])
|
112
118
|
- New CLI options: ([@nestegg][])
|
113
119
|
- `watchdir`/`-w` to specify the directory in which Guard should watch for changes,
|
114
120
|
- `guardfile`/`-G` to specify an alternate location for the Guardfile to use.
|
115
|
-
-
|
121
|
+
- [#90](https://github.com/guard/guard/pull/90): Refactoring of color handling in the `Guard::UI`. ([@stereobooster][])
|
116
122
|
|
117
123
|
## 0.5.1 - July 2, 2011
|
118
124
|
|
119
|
-
###
|
125
|
+
### Bug fix
|
120
126
|
|
121
127
|
- Fixed `guard show` command. ([@bronson][] & [@thibaudgg][])
|
122
128
|
|
123
129
|
## 0.5.0 - July 2, 2011
|
124
130
|
|
125
|
-
### New features
|
131
|
+
### New features
|
126
132
|
|
127
133
|
- Guard::Ego is now part of Guard, so Guardfile is automagically re-evaluated when modified. ([@thibaudgg][])
|
128
|
-
-
|
134
|
+
- [#91](https://github.com/guard/guard/pull/91): Show Guards in Guardfile with the `guard -T`. ([@johnbintz][])
|
129
135
|
|
130
|
-
### Improvements
|
136
|
+
### Improvements
|
131
137
|
|
132
|
-
-
|
133
|
-
-
|
134
|
-
-
|
138
|
+
- [#98](https://github.com/guard/guard/issues/98): Multiple calls per watch event on linux with rb-inotify. ([@jeffutter][] & [@netzpirat][])
|
139
|
+
- [#94](https://github.com/guard/guard/pull/94): Show backtrace in terminal when a problem with a watch action occurs. ([@capotej][])
|
140
|
+
- [#88](https://github.com/guard/guard/pull/88): Write exception trace in the terminal when a supervised task fail. ([@mcmire][])
|
135
141
|
- Color in red the "ERROR:" flag when using `UI.error`. ([@rymai][])
|
136
|
-
-
|
137
|
-
-
|
138
|
-
-
|
139
|
-
-
|
142
|
+
- [#79](https://github.com/guard/guard/issues/79) and Pull request [#82](https://github.com/guard/guard/pull/82): Improve INotify support on Linux. ([@Gazer][] & [@yannlugrin][])
|
143
|
+
- [#12](https://github.com/guard/guard/issues/12) and Pull request [#86](https://github.com/guard/guard/pull/86): Eventually exits with SystemStackError. ([@stereobooster][])
|
144
|
+
- [#84](https://github.com/guard/guard/pull/84): Use RbConfig instead of obsolete and deprecated Config. ([@etehtsea][])
|
145
|
+
- [#80](https://github.com/guard/guard/pull/80): Watching dotfile (hidden files under unix). (reported by [@chrisberkhout][], fixed by [@yannlugrin][])
|
140
146
|
- Clear the terminal on start when the `:clear` option is given. ([@rymai][])
|
141
147
|
- Rename home directory Guardfile to `.Guardfile`. ([@tpope][])
|
142
148
|
|
143
149
|
## 0.4.2 - June 7, 2011
|
144
150
|
|
145
|
-
###
|
151
|
+
### Bug fixes
|
146
152
|
|
147
153
|
- Fixed Guard::Version in ruby 1.8.7 ([@thibaudgg][])
|
148
154
|
- Fix ([@mislav][]) link in CHANGELOG (Note: this is a recursive CHANGELOG item). ([@fnichol][])
|
149
155
|
|
150
156
|
## 0.4.1 - June 7, 2011
|
151
157
|
|
152
|
-
### Improvements
|
158
|
+
### Improvements
|
153
159
|
|
154
|
-
-
|
160
|
+
- [#77](https://github.com/guard/guard/pull/77): Refactor `get_guard_class` to first try the constant and fallback to require + various tweaks. ([@mislav][])
|
155
161
|
- Notifier improvement, don't use system notification library if could not be required. ([@yannlugrin][])
|
156
162
|
|
157
163
|
## 0.4.0 - June 5, 2011
|
158
164
|
|
159
|
-
###
|
165
|
+
### Bug fix
|
160
166
|
|
161
167
|
- In Ruby < 1.9, `Symbol#downcase` doesn't exist! ([@rymai][])
|
162
168
|
|
163
|
-
### New features
|
169
|
+
### New features
|
164
170
|
|
165
|
-
-
|
166
|
-
-
|
171
|
+
- [#73](https://github.com/guard/guard/pull/73): Allow DSL's `group` method to accept a Symbol as group name. ([@johnbintz][])
|
172
|
+
- [#51](https://github.com/guard/guard/pull/51): Allow options (like `:priority`) to be passed through to the Notifier. ([@indirect][] & [@netzpirat][])
|
167
173
|
|
168
|
-
###
|
174
|
+
### Improvement
|
169
175
|
|
170
|
-
-
|
176
|
+
- [#74](https://github.com/guard/guard/pull/74): Added link definitions to make the CHANGELOG more DRY! That's for sure now, we have the cleanest CHANGELOG ever! (even the link definitions are sorted alphabetically!) ([@pcreux][])
|
171
177
|
|
172
178
|
## 0.4.0.rc - May 28, 2011
|
173
179
|
|
174
|
-
###
|
180
|
+
### Bug fixes
|
175
181
|
|
176
|
-
-
|
177
|
-
-
|
182
|
+
- [#69](https://github.com/guard/guard/pull/69): Fixed typo in README: `Ctr-/` => `Ctr-\`. ([@tinogomes][])
|
183
|
+
- [#66](https://github.com/guard/guard/pull/66): Support for dashes in guard names. ([@johnbintz][])
|
178
184
|
- Require `guard/ui` because `Guard::Notifier` can be required without full Guard. ([@yannlugrin][])
|
179
185
|
- Handled quick file (<1s) modification. Avoid to catch modified files without content modification (sha1 checksum). ([@thibaudgg][] & [@netzpirat][])
|
180
186
|
- Fixed `Guard::Notifier` (when growl/libnotify not present). ([@thibaudgg][])
|
181
187
|
- Fixed Rubygems deprecation messages. ([@thibaudgg][])
|
182
188
|
|
183
|
-
### New features
|
189
|
+
### New features
|
184
190
|
|
185
|
-
-
|
186
|
-
-
|
187
|
-
-
|
191
|
+
- [#67](https://github.com/guard/guard/pull/67): Allow Guardfile in `$HOME` folder. ([@hashrocketeer][])
|
192
|
+
- [#64](https://github.com/guard/guard/pull/64): Windows notifications support. ([@stereobooster][])
|
193
|
+
- [#63](https://github.com/guard/guard/pull/63): Refactor listeners to work as a library. ([@niklas][])
|
188
194
|
- Use `ENV["GUARD_NOTIFY"]` to disable notifications. ([@thibaudgg][])
|
189
195
|
- Cleaning up all specs. ([@netzpirat][])
|
190
|
-
-
|
191
|
-
-
|
192
|
-
-
|
193
|
-
|
196
|
+
- [#60](https://github.com/guard/guard/pull/60): Added Windows support. ([@stereobooster][])
|
197
|
+
- [#58](https://github.com/guard/guard/pull/58): Extract code from signal handlers into methods. ([@nicksieger][])
|
198
|
+
- [#55](https://github.com/guard/guard/pull/55): It is now possible to pass `:guardfile` (a Guardfile path) or `:guardfile_contents` (the content of a Guardfile) to `Guard::Dsl.evaluate_guardfile`. Hence this allows the use of `Guard::Dsl.evaluate_guardfile` in a programmatic manner. ([@anithri][], improved by [@rymai][])
|
194
199
|
|
195
200
|
## 0.3.4 - April 24, 2011
|
196
201
|
|
197
|
-
###
|
202
|
+
### Bug fix
|
198
203
|
|
199
|
-
-
|
204
|
+
- [#41](https://github.com/guard/guard/issues/41): Removed useless Bundler requirement. ([@thibaudgg][])
|
200
205
|
|
201
|
-
### New features
|
206
|
+
### New features
|
202
207
|
|
203
208
|
- Changed CHANGELOG from RDOC to Markdown and cleaned it! Let's celebrate! ([@rymai][])
|
204
209
|
- Changed README from RDOC to Markdown! Let's celebrate! ([@thibaudgg][])
|
205
|
-
-
|
206
|
-
|
210
|
+
- [#48](https://github.com/guard/guard/issues/48): Adding support for inline Guard classes rather than requiring a gem. ([@jrsacks][])
|
207
211
|
|
208
212
|
## 0.3.3 - April 18, 2011
|
209
213
|
|
210
|
-
###
|
214
|
+
### Bug fix
|
211
215
|
|
212
216
|
- Fixed `new_modified_files` rerun conditions on `Guard.run_on_change_for_all_guards`. ([@thibaudgg][])
|
213
217
|
|
214
|
-
|
215
218
|
## 0.3.2 - April 17, 2011
|
216
219
|
|
217
|
-
###
|
218
|
-
|
219
|
-
- Pull request [#43](https://github.com/guard/guard/pull/43): Fixed `guard init` command. ([@brainopia][])
|
220
|
+
### Bug fixe
|
220
221
|
|
222
|
+
- [#43](https://github.com/guard/guard/pull/43): Fixed `guard init` command. ([@brainopia][])
|
221
223
|
|
222
224
|
## 0.3.1 - April 14, 2011
|
223
225
|
|
224
|
-
###
|
226
|
+
### Bug fixes
|
225
227
|
|
226
228
|
- Return unique filenames from Linux listener. (Marian Schubert)
|
227
229
|
- `Guard.get_guard_class` return wrong class when loaded nested class. ([@koshigoe][])
|
228
|
-
-
|
229
|
-
-
|
230
|
-
|
231
|
-
### New features:
|
230
|
+
- [#35](https://github.com/guard/guard/issues/35): Fixed open-gem/gem_open dependency problem by using `gem which` to locate guards gem path. (reported by [@thierryhenrio][], fixed by [@thibaudgg][])
|
231
|
+
- [#38](https://github.com/guard/guard/issues/38) & Pull request [#39](https://github.com/guard/guard/issues/39): Fixed an invalid ANSI escape code in `Guard::UI.reset_line`. ([@gix][])
|
232
232
|
|
233
|
-
|
233
|
+
### New feature
|
234
234
|
|
235
|
+
- [#28](https://github.com/guard/guard/issues/28): New `-n` command line option to disable notifications (Growl / Libnotify). ([@thibaudgg][])
|
235
236
|
|
236
237
|
## 0.3.0 - January 19, 2011
|
237
238
|
|
238
|
-
###
|
239
|
+
### Bug fix
|
239
240
|
|
240
241
|
- Avoid launching `run_on_change` guards method when no files matched. `--clear` guard argument is now usable. ([@thibaudgg][])
|
241
242
|
|
242
|
-
### New features
|
243
|
+
### New features
|
243
244
|
|
244
245
|
- The whole directory is now watched during `run_on_change` to detect new files modifications. ([@thibaudgg][])
|
245
|
-
-
|
246
|
+
- [#26](https://github.com/guard/guard/pull/26): New DSL method: `group` allows you to group several guards. New CLI option: `--group group_name` to specify certain groups of guards to start. ([@netzpirat][])
|
246
247
|
- `watch` patterns are now more strict: strings are matched with `String#==`, `Regexp` are matched with `Regexp#match`. ([@rymai][])
|
247
248
|
- A deprecation warning is displayed if your `Guardfile` contains `String` that look like `Regexp` (bad!). ([@rymai][])
|
248
249
|
- It's now possible to return an `Enumerable` in the `watch` optional blocks in the `Guardfile`. ([@rymai][])
|
249
250
|
|
250
|
-
### New specs
|
251
|
+
### New specs
|
251
252
|
|
252
253
|
- `Guard::Watcher`. ([@rymai][])
|
253
|
-
-
|
254
|
-
|
254
|
+
- [#13](https://github.com/guard/guard/pull/13): `Guard::Dsl`. ([@oliamb][])
|
255
255
|
|
256
256
|
## 0.2.2 - October 25, 2010
|
257
257
|
|
258
|
-
###
|
259
|
-
|
260
|
-
- Issue [#5](https://github.com/guard/guard/issues/5): avoid creating new copy of `fsevent_watch` every time a file is changed. (reported by [@stouset][], fixed by [@thibaudgg][])
|
258
|
+
### Bug fix
|
261
259
|
|
260
|
+
- [#5](https://github.com/guard/guard/issues/5): avoid creating new copy of `fsevent_watch` every time a file is changed. (reported by [@stouset][], fixed by [@thibaudgg][])
|
262
261
|
|
263
262
|
## 0.2.1 - October 24, 2010
|
264
263
|
|
265
|
-
###
|
266
|
-
|
267
|
-
- Pull request [#7](https://github.com/guard/guard/pull/7): Fixes for Linux support. ([@yannlugrin][])
|
268
|
-
- Pull request [#6](https://github.com/guard/guard/pull/6): Locate guard now chomp newline in result path. ([@yannlugrin][])
|
264
|
+
### Bug fixes
|
269
265
|
|
266
|
+
- [#7](https://github.com/guard/guard/pull/7): Fixes for Linux support. ([@yannlugrin][])
|
267
|
+
- [#6](https://github.com/guard/guard/pull/6): Locate guard now chomp newline in result path. ([@yannlugrin][])
|
270
268
|
|
271
269
|
## 0.2.0 - October 21, 2010
|
272
270
|
|
273
|
-
###
|
271
|
+
### Bug fixes
|
274
272
|
|
275
|
-
-
|
276
|
-
-
|
273
|
+
- [#3](https://github.com/guard/guard/issues/3): `guard init <guard-name>` no more need `Gemfile` but `open_gem` is required now. (reported by [@wereHamster][], fixed by [@thibaudgg][])
|
274
|
+
- [#2](https://github.com/guard/guard/issues/2): 1.8.6 compatibility. (reported by [@veged][], fixed by [@thibaudgg][])
|
277
275
|
- Removes Growl & Libnotify dependencies. ([@thibaudgg][])
|
278
276
|
|
279
|
-
|
280
277
|
## 0.2.0.beta.1 - October 17, 2010
|
281
278
|
|
282
|
-
### New features
|
279
|
+
### New features
|
283
280
|
|
284
281
|
- Improved listeners support (`rb-fsevent` & `rb-inotify`). ([@thibaudgg][])
|
285
282
|
- Added polling listening fallback. ([@thibaudgg][])
|
@@ -299,6 +296,7 @@
|
|
299
296
|
[@Gazer]: https://github.com/Gazer
|
300
297
|
[@gix]: https://github.com/gix
|
301
298
|
[@hron]: https://github.com/hron
|
299
|
+
[@hardipe]: https://github.com/hardipe
|
302
300
|
[@hashrocketeer]: https://github.com/hashrocketeer
|
303
301
|
[@ianwhite]: https://github.com/ianwhite
|
304
302
|
[@indirect]: https://github.com/indirect
|
data/lib/guard.rb
CHANGED
@@ -29,6 +29,8 @@ module Guard
|
|
29
29
|
# @option options [Boolean] watch_all_modifications watches all file modifications if true
|
30
30
|
#
|
31
31
|
def setup(options = {})
|
32
|
+
@lock = Mutex.new
|
33
|
+
|
32
34
|
@options = options
|
33
35
|
@guards = []
|
34
36
|
@groups = [Group.new(:default)]
|
@@ -41,8 +43,6 @@ module Guard
|
|
41
43
|
|
42
44
|
debug_command_execution if @options[:debug]
|
43
45
|
|
44
|
-
@lock = Mutex.new
|
45
|
-
|
46
46
|
self
|
47
47
|
end
|
48
48
|
|
@@ -180,9 +180,12 @@ module Guard
|
|
180
180
|
|
181
181
|
@lock.synchronize do
|
182
182
|
begin
|
183
|
+
@interactor.stop_if_not_current
|
183
184
|
yield
|
184
185
|
rescue Interrupt
|
185
186
|
end
|
187
|
+
|
188
|
+
@interactor.start
|
186
189
|
end
|
187
190
|
end
|
188
191
|
|
data/lib/guard/cli.rb
CHANGED
@@ -119,7 +119,7 @@ module Guard
|
|
119
119
|
#
|
120
120
|
def init(guard_name = nil)
|
121
121
|
if !File.exist?('Guardfile')
|
122
|
-
puts
|
122
|
+
puts "Writing new Guardfile to #{Dir.pwd}/Guardfile"
|
123
123
|
FileUtils.cp(File.expand_path('../templates/Guardfile', __FILE__), 'Guardfile')
|
124
124
|
elsif guard_name.nil?
|
125
125
|
Guard::UI.error "Guardfile already exists at #{ Dir.pwd }/Guardfile"
|
data/lib/guard/interactor.rb
CHANGED
@@ -11,28 +11,34 @@ module Guard
|
|
11
11
|
# - Everything else => Run all
|
12
12
|
#
|
13
13
|
class Interactor
|
14
|
-
|
15
14
|
# Start the interactor in its own thread.
|
16
15
|
#
|
17
16
|
def start
|
18
17
|
return if ENV["GUARD_ENV"] == 'test'
|
19
18
|
|
20
|
-
|
21
|
-
|
22
|
-
entry
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
19
|
+
if !@thread || @thread.stop?
|
20
|
+
@thread = Thread.new do
|
21
|
+
while entry = $stdin.gets.chomp
|
22
|
+
case entry
|
23
|
+
when 'stop', 'quit', 'exit', 's', 'q', 'e'
|
24
|
+
::Guard.stop
|
25
|
+
when 'reload', 'r', 'z'
|
26
|
+
::Guard::Dsl.reevaluate_guardfile
|
27
|
+
::Guard.reload
|
28
|
+
when 'pause', 'p'
|
29
|
+
::Guard.pause
|
30
|
+
else
|
31
|
+
::Guard.run_all
|
32
|
+
end
|
33
33
|
end
|
34
34
|
end
|
35
35
|
end
|
36
36
|
end
|
37
|
+
|
38
|
+
def stop_if_not_current
|
39
|
+
unless Thread.current == @thread
|
40
|
+
@thread.kill
|
41
|
+
end
|
42
|
+
end
|
37
43
|
end
|
38
44
|
end
|
data/lib/guard/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: guard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-10-
|
12
|
+
date: 2011-10-03 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: thor
|
16
|
-
requirement: &
|
16
|
+
requirement: &70285420259220 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.14.6
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70285420259220
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: bundler
|
27
|
-
requirement: &
|
27
|
+
requirement: &70285420258380 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70285420258380
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &70285420255900 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 2.6.0
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70285420255900
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: guard-rspec
|
49
|
-
requirement: &
|
49
|
+
requirement: &70285420255300 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 0.3.1
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70285420255300
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: yard
|
60
|
-
requirement: &
|
60
|
+
requirement: &70285420254600 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 0.7.2
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70285420254600
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: kramdown
|
71
|
-
requirement: &
|
71
|
+
requirement: &70285420253720 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,7 +76,7 @@ dependencies:
|
|
76
76
|
version: 0.13.3
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70285420253720
|
80
80
|
description: Guard is a command line tool to easily handle events on file system modifications.
|
81
81
|
email:
|
82
82
|
- thibaud@thibaud.me
|