Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

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

    authored
    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.
Commits on Jun 30, 2008
  1. Stripping trailing slash from paths.

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

    authored
    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.
  3. Better empty-cache behavior in Event#modified_files.

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

    authored
    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.
  5. Checking stream mode in Event#modified_files.

    authored
    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).
  6. Adding stream mode.

    authored
    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.
Commits on Jun 28, 2008
Commits on Jun 17, 2008
Commits on Jun 15, 2008
  1. Housecleaning.

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

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

    authored
    …get modified files in the event path.
  4. FSEvents::Stream now creates FSEvents::Event objects to pass to the c…

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

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

    authored
    …::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.
  2. Adding FSEvents::Stream.create, which returns a new FSEvents::Stream …

    authored
    …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.
  3. Requiring a callback block for initialization.

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

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

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

    authored
    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.
  7. Continuing initialization refactoring, storing callback block.

    authored
    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.
  8. Refactoring FSEvents::Stream initialization to not do too much.

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

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

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

    authored
    "Cannot convert the passed-by-reference argument #0 as '{__FSEventStream=}' to Ruby" can cram it.
Something went wrong with that request. Please try again.