class Guard::Darwin


Listener implementation for Mac OS X ‘FSEvents`.

def self.usable?(no_vendor = false)

Returns:
  • (Boolean) - whether usable or not
def self.usable?(no_vendor = false)
  return false unless RbConfig::CONFIG['target_os'] =~ /darwin/i
  $LOAD_PATH << File.expand_path('../../../vendor/darwin/lib', __FILE__) unless no_vendor
  require 'rb-fsevent'
  true
rescue LoadError
  false
end

def initialize(*)


Initialize the Listener.
def initialize(*)
  super
  @fsevent = FSEvent.new
end

def start


Start the listener.
def start
  super
  worker.run
end

def stop


Stop the listener.
def stop
  super
  worker.stop
end

def watch(directory)

Parameters:
  • directory (String) -- the directory to watch
def watch(directory)
  worker.watch(directory) do |modified_dirs|
    files = modified_files(modified_dirs)
    @callback.call(files) unless files.empty?
  end
end

def worker


Get the listener worker.
def worker
  @fsevent
end