class SassListen::Adapter::Base

def configure

TODO: it's a separate method as a temporary workaround for tests
def configure
  if @configured
    _log(:warn, 'Adapter already configured!')
    return
  end
  @configured = true
  @callbacks ||= {}
  config.directories.each do |dir|
    callback = @callbacks[dir] || lambda do |event|
      _process_event(dir, event)
    end
    @callbacks[dir] = callback
    _configure(dir, &callback)
  end
  @snapshots ||= {}
  # TODO: separate config per directory (some day maybe)
  change_config = Change::Config.new(config.queue, config.silencer)
  config.directories.each do |dir|
    record = Record.new(dir)
    snapshot = Change.new(change_config, record)
    @snapshots[dir] = snapshot
  end
end