Permalink
Commits on Jul 2, 2008
  1. FSEvents::Event#deleted_files -- returns files deleted for this event.

    This only works if the stream is in cache mode. Trying this with mtime mode raises an exception because there isn't enough information to get a list of deleted files.
    committed Jul 2, 2008
Commits on Jun 30, 2008
  1. Stripping trailing slash from paths.

    This was originally just a minor visual annoyance, but it became something that messed up the caching.
    committed Jun 30, 2008
  2. Modifying stream caching strategy to store subdirs.

    Any directory found during caching should be stored in its own cache. Otherwise, the cache is permanently empty for any sub-directory under a watched path.
    committed Jun 30, 2008
  3. Better empty-cache behavior in Event#modified_files.

    It won't do for the event to raise an exception simply because nothing's been cached yet.
    committed Jun 30, 2008
  4. Modifying Stream#update_last_event to consider mode.

    The mtime mode is the default, and the only thing to do is the same old behavior of storing the last event time.
    The cache mode involves more work, going through each path and storing a File::Stat object for each file.
    committed Jun 30, 2008
  5. Checking stream mode in Event#modified_files.

    The mtime mode is the default and is the same as before, checking if any file's mtime is greater than or equal to the last event time.
    The cache mode will check the stream's cache to see if any file's mtime or size has changed. (The checks happen explicitly because File::Stat#<=> only compares mtime).
    committed Jun 30, 2008
  6. Adding stream mode.

    The mode is the first option for the FSEvents::Stream object itself (and not the OSX FSEvent stream). It will primarily affect the strategy for getting an event's modified files.
    committed Jun 30, 2008
Commits on Jun 28, 2008
Commits on Jun 17, 2008
Commits on Jun 15, 2008
  1. Housecleaning.

    History, License, config, Manifest, blah blah. README is the important bit.
    committed Jun 15, 2008
  2. Added FSEvents::Stream#run as a way to easily run the stream.

    This merely calls OSX.CFRunLoopRun, which passes control to the Carbon framework.
    committed Jun 15, 2008
  3. FSEvents::Event#modified_files -- uses the stream last event time to …

    …get modified files in the event path.
    committed Jun 15, 2008
  4. FSEvents::Stream now creates FSEvents::Event objects to pass to the c…

    …allback (instead of just simple paths).
    committed Jun 15, 2008
  5. Creating FSEvents::Event class, mostly to make getting files from the…

    … path easier.
    
    This is heavily inspired by the Rucola fsevents.rb.
    committed Jun 15, 2008
Commits on Jun 14, 2008
  1. Adding FSEvents::Stream.watch, which returns a newly created FSEvents…

    …::Stream object and starts it up.
    
    This should be the main popular interface since it goes directly from path, options, and callback directly to an operating stream.
    committed Jun 14, 2008
  2. Adding FSEvents::Stream.create, which returns a new FSEvents::Stream …

    …object with the stream created.
    
    I imagine this will be a more popular interface than FSEvents::Stream.new since it removes the step of creating the stream after initialization.
    committed Jun 14, 2008
  3. Requiring a callback block for initialization.

    The best part about this is what it does to the specs.  `FSEvents::Stream.new(@path, @options) {}.flags` looks so AWESOMe.
    committed Jun 14, 2008
  4. Completing initialization refactoring, simplifying initialization.

    Now initialization does nothing but store some attributes. This is a good thing.
    committed Jun 14, 2008
  5. Continuing initialization refactoring, creating fs event stream.

    The actual fs event stream itself (from OSX.FSEventStreamCreate) is now made outside of initialization. This should free initialization to be simple.
    committed Jun 14, 2008
  6. Continuing initialization refactoring, stream callback.

    This is the 'same boring thing every time' that will be used as the FSEvent stream callback, mostly taken from Rucola's fsevents.rb (without having a special object for each event, only caring about the path). From what I can tell, this is what people will care about, just getting a list of the paths where an fs event occurred.
    committed Jun 14, 2008
  7. Continuing initialization refactoring, storing callback block.

    Note that the callback here is the 'real' callback, the one the user is interested in. The FSEvent stream callback will be the same boring thing every time.
    committed Jun 14, 2008
  8. Refactoring FSEvents::Stream initialization to not do too much.

    This is just the first step, setting attributes in initialization for later methods to use.
    committed Jun 14, 2008
Commits on Jun 13, 2008
Commits on Jun 12, 2008
  1. FSEvents::Stream#startup.

    To start up a stream, the stream should be scheduled and started (taken from the example of 'taming the autotest beast with FSEvents').
    committed Jun 12, 2008
  2. FSEvents::Stream#shutdown.

    To shut down a stream, the stream should be stopped, invalidated, and released (taken from the example of 'taming the autotest beast with FSEvents').
    committed Jun 12, 2008
  3. Got the last pending spec for FSEvents::Stream#schedule.

    "Cannot convert the passed-by-reference argument #0 as '{__FSEventStream=}' to Ruby" can cram it.
    committed Jun 12, 2008