Sha256: d40de1559084bb1f17a417b26f8f3b56b445d34b42005844daae38edbedc8da0

Contents?: true

Size: 745 Bytes

Versions: 22

Compression:

Stored size: 745 Bytes

Contents

require 'fssm/fsevents'

module FSSM::Backends
  class FSEvents
    def initialize
      @handlers = {}
      @fsevents = []
    end
    
    def add_path(path, preload=true)
      handler = FSSM::State.new(path)
      @handlers["#{path}"] = handler
      
      fsevent = Rucola::FSEvents.new("#{path}", {:latency => 0.5}) do |events|
        events.each do |event|
          handler.refresh(event.path)
        end
      end
      
      fsevent.create_stream
      handler.refresh(path.to_pathname, true) if preload
      fsevent.start
      @fsevents << fsevent
    end
    
    def run
      begin
        OSX.CFRunLoopRun
      rescue Interrupt
        @fsevents.each do |fsev|
          fsev.stop
        end
      end
    end

  end
end

Version data entries

22 entries across 22 versions & 6 rubygems

Version Path
chriseppstein-compass-0.8.15 lib/vendor/fssm/backends/fsevents.rb
chriseppstein-compass-0.8.16 lib/vendor/fssm/backends/fsevents.rb
chriseppstein-compass-0.8.17 lib/vendor/fssm/backends/fsevents.rb
ttilley-fssm-0.0.6 lib/fssm/backends/fsevents.rb
ttilley-fssm-0.0.7 lib/fssm/backends/fsevents.rb
ttilley-fssm-0.0.8 lib/fssm/backends/fsevents.rb
middleman-0.12.2 lib/middleman/vendor/gems/gems/compass-0.10.0.pre2/lib/vendor/fssm/backends/fsevents.rb
middleman-0.12.1 lib/middleman/vendor/gems/gems/compass-0.10.0.pre2/lib/vendor/fssm/backends/fsevents.rb
fssm-0.0.9 lib/fssm/backends/fsevents.rb
middleman-0.12.0.pre3 lib/middleman/vendor/gems/gems/compass-0.10.0.pre2/lib/vendor/fssm/backends/fsevents.rb
middleman-0.12.0.pre2 lib/middleman/vendor/gems/gems/compass-0.10.0.pre2/lib/vendor/fssm/backends/fsevents.rb
compass-0.10.0.pre2 lib/vendor/fssm/backends/fsevents.rb
compass-0.10.0.pre1 lib/vendor/fssm/backends/fsevents.rb
compass-edge-0.9.5.0 lib/vendor/fssm/backends/fsevents.rb
middleman-0.12.0.pre lib/middleman/vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/backends/fsevents.rb
middleman-0.10.17 vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/backends/fsevents.rb
middleman-0.10.16 vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/backends/fsevents.rb
middleman-0.10.15 vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/backends/fsevents.rb
middleman-0.10.14 vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/backends/fsevents.rb
compass-0.8.17 lib/vendor/fssm/backends/fsevents.rb