module Listen::Adapter

Experimental RBS support (using type sampling data from the type_fusion project).

# sig/listen/adapter.rbs

module Listen::Adapter
  def select: (?Hash options) -> nil
end

def _usable_adapter_class

def _usable_adapter_class
  OPTIMIZED_ADAPTERS.find(&:usable?)
end

def _warn_polling_fallback(options)

def _warn_polling_fallback(options)
  msg = options.fetch(:polling_fallback_message, POLLING_FALLBACK_MESSAGE)
  Kernel.warn "[Listen warning]:\n  #{msg}" if msg
end

def select(options = {})

Experimental RBS support (using type sampling data from the type_fusion project).

def select: (?force_polling | FalseClass | polling_fallback_message | NilClass options) -> nil

This signature was generated using 1 sample from 1 application.

def select(options = {})
  Listen.logger.debug 'Adapter: considering polling ...'
  return Polling if options[:force_polling]
  Listen.logger.debug 'Adapter: considering optimized backend...'
  return _usable_adapter_class if _usable_adapter_class
  Listen.logger.debug 'Adapter: falling back to polling...'
  _warn_polling_fallback(options)
  Polling
rescue
  Listen.logger.warn format('Adapter: failed: %s:%s', $ERROR_POSITION.inspect,
                            $ERROR_POSITION * "\n")
  raise
end