module Listen
def adapter_warn(message)
def adapter_warn(message) case ENV['LISTEN_GEM_ADAPTER_WARN_BEHAVIOR']&.to_sym || adapter_warn_behavior_callback(message) when :log logger.warn(message) when :silent, nil, false # do nothing else # :warn warn(message) end end
def adapter_warn_behavior_callback(message)
def adapter_warn_behavior_callback(message) if adapter_warn_behavior.respond_to?(:call) case behavior = adapter_warn_behavior.call(message) when Symbol behavior when false, nil :silent else :warn end else adapter_warn_behavior end end
def default_logger
def default_logger level = case ENV['LISTEN_GEM_DEBUGGING'].to_s when /debug|2/i ::Logger::DEBUG when /info|true|yes|1/i ::Logger::INFO when /warn/i ::Logger::WARN when /fatal/i ::Logger::FATAL else ::Logger::ERROR end ::Logger.new(STDERR, level: level) end
def logger
def logger @logger ||= default_logger end
def stop
This is used by the `listen` binary to handle Ctrl-C
def stop while (listener = @listeners.deq(true)) begin listener.stop rescue WeakRef::RefError end end rescue ThreadError end
def to(*args, &block)
-
(Listen::Listener)
- the listener
Other tags:
- Yieldparam: removed - the list of removed files
Yieldparam: added - the list of added files
Yieldparam: modified - the list of modified files
Other tags:
- Yield: - the changed files
Parameters:
-
(
) --
def to(*args, &block) Listener.new(*args, &block).tap do |listener| @listeners.enq(WeakRef.new(listener)) end end