lib/fssm/backends/inotify.rb in fssm-0.1.2 vs lib/fssm/backends/inotify.rb in fssm-0.1.3

- old
+ new

@@ -2,17 +2,18 @@ class Inotify def initialize @notifier = INotify::Notifier.new end - def add_path(path, preload=true) - handler = FSSM::State.new(path) - - @notifier.watch(path.to_s, :all_events) do |event| - handler.refresh(event.name) + def add_handler(handler, preload=true) + @notifier.watch(handler.path.to_s, :recursive, :attrib, :modify, :create, + :delete, :delete_self, :moved_from, :moved_to, :move_self) do |event| + path = FSSM::Pathname.for(event.absolute_name) + path = path.dirname unless event.name == "" # Event on root directory + handler.refresh(path) end - handler.refresh(path.to_pathname, true) if preload + handler.refresh(nil, true) if preload end def run begin @notifier.run