Module: Philiprehberger::FileWatcher
- Defined in:
- lib/philiprehberger/file_watcher.rb,
lib/philiprehberger/file_watcher/change.rb,
lib/philiprehberger/file_watcher/version.rb,
lib/philiprehberger/file_watcher/watcher.rb
Defined Under Namespace
Classes: Change, Error, Watcher
Constant Summary collapse
- VERSION =
'0.4.0'
Class Method Summary collapse
-
.watch(paths, interval: 1.0, glob: '**/*', exclude: [], debounce: nil) {|Change| ... } ⇒ void
Watch paths for file system changes (blocking).
Class Method Details
.watch(paths, interval: 1.0, glob: '**/*', exclude: [], debounce: nil) {|Change| ... } ⇒ void
This method returns an undefined value.
Watch paths for file system changes (blocking).
Polls the file system at the given interval and yields arrays of Change objects whenever created, modified, or deleted files are detected.
23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/philiprehberger/file_watcher.rb', line 23 def self.watch(paths, interval: 1.0, glob: '**/*', exclude: [], debounce: nil, &block) raise ArgumentError, 'a block is required' unless block watcher = Watcher.new(paths, interval: interval, glob: glob, exclude: exclude, debounce: debounce) watcher.on(:any, &block) watcher.start # Block the calling thread until interrupted sleep rescue Interrupt watcher.stop end |