# File lib/fssm/backends/fsevents.rb, line 5 def initialize @handlers = {} @fsevents = [] end
# File lib/fssm/backends/fsevents.rb, line 10 def add_handler(handler, preload=true) @handlers[handler.path.to_s] = handler fsevent = Rucola::FSEvents.new(handler.path.to_s, {:latency => 0.5}) do |events| events.each do |event| handler.refresh(event.path) end end fsevent.create_stream handler.refresh(nil, true) if preload fsevent.start @fsevents << fsevent end
# File lib/fssm/backends/fsevents.rb, line 25 def run begin OSX.CFRunLoopRun rescue Interrupt @fsevents.each do |fsev| fsev.stop end end end