Sha256: 03e40c4ce2ce70fce80accf3f2f28b6924a8f9ae609dd71bcf8dae82fd958fdb

Contents?: true

Size: 795 Bytes

Versions: 5

Compression:

Stored size: 795 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.9')
        UI.info "Please update rb-fsevent (>= 0.3.9)"
        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

5 entries across 5 versions & 1 rubygems

Version Path
guard-0.3.4 lib/guard/listeners/darwin.rb
guard-0.3.3 lib/guard/listeners/darwin.rb
guard-0.3.2 lib/guard/listeners/darwin.rb
guard-0.3.1 lib/guard/listeners/darwin.rb
guard-0.3.0 lib/guard/listeners/darwin.rb