class Spring::Watcher::Abstract

A user of a watcher can use IO.select to wait for changes:

watcher = MyWatcher.new(root, latency)
IO.select([watcher]) # watcher is running in background
watcher.stale? # => true