class FSSM::Backends::Inotify
Public Class Methods
new()
click to toggle source
# File lib/fssm/backends/inotify.rb, line 3 def initialize @notifier = INotify::Notifier.new end
Public Instance Methods
add_handler(handler, preload=true)
click to toggle source
# File lib/fssm/backends/inotify.rb, line 7 def add_handler(handler, preload=true) @notifier.watch(handler.path.to_s, :recursive, :attrib, :close_write, :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(nil, true) if preload end
run()
click to toggle source
# File lib/fssm/backends/inotify.rb, line 18 def run begin @notifier.run rescue Interrupt end end