Sha256: baa6ca84ce9c45bbbbe101f6f770f71db552098370c53e33e7b84f52d177a626

Contents?: true

Size: 818 Bytes

Versions: 2

Compression:

Stored size: 818 Bytes

Contents

module Guard
  class Darwin < Listener
    attr_reader :fsevent
    
    def initialize
      super
      @fsevent = FSEvent.new
    end
    
    def on_change(&callback)
      @fsevent.watch Dir.pwd do |modified_dirs|
        files = modified_files(modified_dirs)
        update_last_event
        callback.call(files)
      end
    end
    
    def start
      @fsevent.run
    end
    
    def stop
      @fsevent.stop
    end
    
    def self.usable?
      require 'rb-fsevent'
      if !defined?(FSEvent::VERSION) || Gem::Version.new(FSEvent::VERSION) < Gem::Version.new('0.3.2')
        UI.info "Please update rb-fsevent (>= 0.3.2)"
        false
      else
        true
      end
    rescue LoadError
      UI.info "Please install rb-fsevent gem for Mac OSX FSEvents support"
      false
    end
    
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
guard-0.2.0 lib/guard/listeners/darwin.rb
guard-0.2.0.beta.1 lib/guard/listeners/darwin.rb