directory_watcher 0.1.4 → 1.0.0

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.
Files changed (3) hide show
  1. data/Rakefile +3 -0
  2. data/lib/directory_watcher.rb +22 -20
  3. metadata +2 -2
data/Rakefile CHANGED
@@ -19,6 +19,9 @@ dispatched to registered observers. Three types of events are supported --
19
19
  added, modified, and removed.
20
20
  DESC
21
21
  proj.changes = <<-CHANGES
22
+ Version 1.0.0 / 2007-08-21
23
+ * added a join method (much like Thread#join)
24
+
22
25
  Version 0.1.4 / 2007-08-20
23
26
  * added version information to the class
24
27
 
@@ -6,7 +6,6 @@
6
6
 
7
7
  require 'observer'
8
8
 
9
- #
10
9
  # == Synopsis
11
10
  #
12
11
  # A class for watching files within a directory and generating events when
@@ -152,9 +151,8 @@ require 'observer'
152
151
  class DirectoryWatcher
153
152
  include Observable
154
153
 
155
- VERSION = '0.1.4' # :nodoc:
154
+ VERSION = '1.0.0' # :nodoc:
156
155
 
157
- #
158
156
  # An +Event+ structure contains the _type_ of the event and the file _path_
159
157
  # to which the event pertains. The type can be one of the following:
160
158
  #
@@ -172,7 +170,6 @@ class DirectoryWatcher
172
170
  end
173
171
  # :startdoc:
174
172
 
175
- #
176
173
  # call-seq:
177
174
  # DirectoryWatcher.new( directory, options )
178
175
  #
@@ -215,13 +212,13 @@ class DirectoryWatcher
215
212
  @thread = nil
216
213
  end
217
214
 
218
- #
219
215
  # call-seq:
220
216
  # add_observer( observer )
221
- # add_observer {|*args| block}
217
+ # add_observer {|*events| block}
222
218
  #
223
219
  # Adds the given _observer_ as an observer on this directory watcher. The
224
- # _observer_ will now receive file events when they are generated.
220
+ # _observer_ will now receive file events when they are generated. The
221
+ # _observer_ must implement an <code>update( *events )</code> method.
225
222
  #
226
223
  # Optionally, a block can be passed as the observer. The block will be
227
224
  # executed with the file events passed as the arguments. A reference to the
@@ -238,7 +235,6 @@ class DirectoryWatcher
238
235
  super observer
239
236
  end
240
237
 
241
- #
242
238
  # call-seq:
243
239
  # glob = '*'
244
240
  # glob = ['lib/**/*.rb', 'test/**/*.rb']
@@ -259,7 +255,6 @@ class DirectoryWatcher
259
255
  end
260
256
  attr_reader :glob
261
257
 
262
- #
263
258
  # call-seq:
264
259
  # interval = 30.0
265
260
  #
@@ -274,7 +269,6 @@ class DirectoryWatcher
274
269
  end
275
270
  attr_reader :interval
276
271
 
277
- #
278
272
  # call-seq:
279
273
  # stable = 2
280
274
  #
@@ -310,7 +304,6 @@ class DirectoryWatcher
310
304
  end
311
305
  attr_reader :stable
312
306
 
313
- #
314
307
  # call-seq:
315
308
  # running?
316
309
  #
@@ -321,7 +314,6 @@ class DirectoryWatcher
321
314
  !@thread.nil?
322
315
  end
323
316
 
324
- #
325
317
  # call-seq:
326
318
  # start
327
319
  #
@@ -336,7 +328,6 @@ class DirectoryWatcher
336
328
  self
337
329
  end
338
330
 
339
- #
340
331
  # call-seq:
341
332
  # stop
342
333
  #
@@ -353,7 +344,6 @@ class DirectoryWatcher
353
344
  self
354
345
  end
355
346
 
356
- #
357
347
  # call-seq:
358
348
  # reset( pre_load = false )
359
349
  #
@@ -372,8 +362,25 @@ class DirectoryWatcher
372
362
  start if was_running
373
363
  end
374
364
 
375
- private
365
+ # call-seq:
366
+ # join( limit = nil )
376
367
  #
368
+ # If the directory watcher is running, the calling thread will suspend
369
+ # execution and run the directory watcher thread. This method does not
370
+ # return until the directory watcher is stopped or until _limit_ seconds
371
+ # have passed.
372
+ #
373
+ # If the directory watcher is not running, this method returns immediately
374
+ # with +nil+.
375
+ #
376
+ def join( limit = nil )
377
+ return unless running?
378
+ @thread.join limit
379
+ end
380
+
381
+
382
+ private
383
+
377
384
  # call-seq:
378
385
  # scan_files
379
386
  #
@@ -395,7 +402,6 @@ class DirectoryWatcher
395
402
  files
396
403
  end
397
404
 
398
- #
399
405
  # call-seq:
400
406
  # run
401
407
  #
@@ -424,7 +430,6 @@ class DirectoryWatcher
424
430
  end
425
431
  end
426
432
 
427
- #
428
433
  # call-seq:
429
434
  # find_added( files, cur, prev )
430
435
  #
@@ -441,7 +446,6 @@ class DirectoryWatcher
441
446
  self
442
447
  end
443
448
 
444
- #
445
449
  # call-seq:
446
450
  # find_removed( cur, prev )
447
451
  #
@@ -455,7 +459,6 @@ class DirectoryWatcher
455
459
  self
456
460
  end
457
461
 
458
- #
459
462
  # call-seq:
460
463
  # find_modified( files, cur, prev )
461
464
  #
@@ -489,7 +492,6 @@ class DirectoryWatcher
489
492
  self
490
493
  end
491
494
 
492
- #
493
495
  # call-seq:
494
496
  # notify_observers
495
497
  #
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: directory_watcher
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.1.4
7
- date: 2007-08-20 00:00:00 -06:00
6
+ version: 1.0.0
7
+ date: 2007-08-21 00:00:00 -06:00
8
8
  summary: A class for watching files within a directory and generating events when those files change
9
9
  require_paths:
10
10
  - lib