Initializes the Adapter. See {Listen::Adapter#initialize} for more info.
# File lib/listen/adapters/windows.rb, line 12 def initialize(directories, options = {}, &callback) super @worker = init_worker end
Checks if the adapter is usable on the current OS.
@return [Boolean] whether usable or not
# File lib/listen/adapters/windows.rb, line 49 def self.usable? return false unless RbConfig::CONFIG['target_os'] =~ %rmswin|mingw/ require 'rb-fchange' true rescue LoadError false end
Starts the adapter.
@param [Boolean] blocking whether or not to block the current thread after starting
# File lib/listen/adapters/windows.rb, line 21 def start(blocking = true) @mutex.synchronize do return if @stop == false super end @worker_thread = Thread.new { @worker.run } @poll_thread = Thread.new { poll_changed_dirs(true) } @poll_thread.join if blocking end
Stops the adapter.
# File lib/listen/adapters/windows.rb, line 34 def stop @mutex.synchronize do return if @stop == true super end @worker.stop Thread.kill(@worker_thread) if @worker_thread @poll_thread.join end