…nce 10.6 and rb-fsevent is a better solution regardless
1) autoload code as needed 2) wait until the last possible moment to define FSSM::Backends::Default 3) provide set_backend(symbol, value) to make it easier to opt out and use polling, as well as plug in your own custom backend or backend handling logic 4) handling of platform specific dependencies via spec.extensions + rake I'm not completely convinced on point number four. Though, if gem install option args get passed to rake along the way, it'd be a non-issue to have it do nothing by default and only install/update backend support if asked.
…he morning because you can't sleep may have unexpected consequences.
…l metadata support is added to rb-fsevent, these temporary hacks and lookups will be completely unnecessary. additionally, do NOT use rubycocoa on osx lion... it segfaults quite enthusiastically right now.
…zy things to happen if you're not expecting it. as a fix, we need to do the same and resolve the actual filesystem path without symlinks ahead of time.
…olve compass issue 263 and FSSM issue 21.
… for that path
…al paths, like when a path exists but is within a jar file. Until then, lets at least error out early with a message that makes sense.
…using the same implemetation of #segments as before.
… give something to profile against when investigating Jonathan Castello's solution: (github.com/Twisol/fssm)
So that the methods #created, #deleted, and #modified in Directory look similar to each other.
Ruby 1.8.6 does not support external enumerators. So, change the code in Directory#tag_entries to have the result hash in explicit variable and let the processing in #each_pair block to modify the hash via the variable.
If :directories option is enabled, callbacks receive a third argument specifying the type of the file affected by the operation causing the callback. The file types are either :file or :directory. If :directories option is disabled, no third argument is passed to the callbacks; the monitored files are all non-directories anyway. With file creation and modification events, you can use `File.directory?` to determine the file type. However, this is not possible with file deletion, since the file does not exist anymore. This is the motivation for the change.
If a directory structure is modified, it is useful for the user of FSSM to receive the callbacks in predictable order. For example, let's consider an application that monitors files in a working directory and attempts to keep the directory contents synchronized to a remote host with SCP. If a subdirectory with a file gets deleted in the working dir, it is useful for the app to know that the file gets deleted first and the subdirectory second. This way, in the remote host, the app can remove the file first before attempting to remove the (non-empty) subdirectory.