The Scanner is responsible for polling the watched directory at a regular interval and generating a Scan which it will then send down the collection queue to the Collector.
The Scanner is a pure Ruby class, and as such it works across all Ruby interpreters on the major platforms. This also means that it can be processor intensive for large numbers of files or very fast update intervals. Your mileage will vary, but it is something to keep an eye on.