class Middleman::SourceWatcher

def initialize(parent, type, directory, options={})

def initialize(parent, type, directory, options={})
  @parent = parent
  @options = options
  @type = type
  @directory = Pathname(directory)
  @files = {}
  @extensionless_files = {}
  @frontmatter = options.fetch(:frontmatter, true)
  @binary = options.fetch(:binary, false)
  @validator = options.fetch(:validator, proc { true })
  @ignored = options.fetch(:ignored, proc { false })
  @only = Array(options.fetch(:only, []))
  @disable_watcher = app.build?
  @force_polling = false
  @latency = nil
  @wait_for_delay = nil
  @listener = nil
  @callbacks = ::Middleman::CallbackManager.new
  @callbacks.install_methods!(self, [:on_change])
  @waiting_for_existence = !@directory.exist?
end