Method: Listen::Adapter::Base#initialize

Defined in:
lib/listen/adapter/base.rb

#initialize(opts) ⇒ Base

Returns a new instance of Base.



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/listen/adapter/base.rb', line 13

def initialize(opts)
  @configured = nil
  options = opts.dup
  @mq = options.delete(:mq)
  @directories = options.delete(:directories)

  Array(@directories).each do |dir|
    next if dir.is_a?(Pathname)
    fail ArgumentError, "not a Pathname: #{dir.inspect}"
  end

  # TODO: actually use this in every adapter
  @recursion = options.delete(:recursion)
  @recursion = true if @recursion.nil?

  defaults = self.class.const_get('DEFAULTS')
  @options = Listen::Options.new(options, defaults)
rescue
  _log_exception 'adapter config failed: %s:%s called from: %s', caller
  raise
end