class Listen::Adapters::Polling

Polling Adapter that works cross-platform and has no dependencies. This is the adapter that uses the most CPU processing power and has higher file IO that the other implementations.

Public Class Methods

new(directories, options = {}, &callback) click to toggle source

Initialize the Adapter. See {Listen::Adapter#initialize} for more info.

# File lib/listen/adapters/polling.rb, line 16
def initialize(directories, options = {}, &callback)
  @latency ||= DEFAULT_POLLING_LATENCY
  super
end

Public Instance Methods

start(blocking = true) click to toggle source

Start the adapter.

@param [Boolean] blocking whether or not to block the current thread after starting

# File lib/listen/adapters/polling.rb, line 25
def start(blocking = true)
  @mutex.synchronize do
    return if @stop == false
    super
  end

  @poll_thread = Thread.new { poll }
  @poll_thread.join if blocking
end
stop() click to toggle source

Stop the adapter.

# File lib/listen/adapters/polling.rb, line 37
def stop
  @mutex.synchronize do
    return if @stop == true
    super
  end

  @poll_thread.join
end