Sha256: fca97f9b082b74f19564db700eeb99ffeeab042c343899960e1f895112350c4a

Contents?: true

Size: 839 Bytes

Versions: 1

Compression:

Stored size: 839 Bytes

Contents

module Guard
  class Darwin < Listener
    attr_reader :fsevent

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

    def worker
      @fsevent
    end

    def start
      super
      fsevent.run
    end

    def stop
      super
      fsevent.stop
    end

    def self.usable?
      require 'rb-fsevent'
      if !defined?(FSEvent::VERSION) || Gem::Version.new(FSEvent::VERSION) < Gem::Version.new('0.4.0')
        UI.info "Please update rb-fsevent (>= 0.4.0)"
      end
      true
    rescue LoadError
      UI.info "Please install rb-fsevent gem for Mac OSX FSEvents support"
      false
    end

  private

    def watch(directory)
      worker.watch directory do |modified_dirs|
        files = modified_files(modified_dirs)
        update_last_event
        callback.call(files)
      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
guard-0.4.0 lib/guard/listeners/darwin.rb