Path: | README (CVS) |
Last Update: | Tue Dec 05 01:28:29 -0500 2006 |
FAM-Ruby 0.2.0 README
This document was last updated on Tue Dec 05 00:45:30 2006. Please see the file COPYING for licensing and warranty information. The latest version of this library is available at the following URL: www.pablotron.org/software/fam-ruby/.
Introduction
FAM-Ruby is a Ruby interface to SGI’s File Alteration Monitor (oss.sgi.com/projects/fam/). FAM allows you to monitor files and directories for changes (file modification, creation, and removal) — in an event-driven manner. FAM is available on a variety of platforms, including Irix, Linux, and BSD variants (a patch for systems that use dnotify is also available). As of version 0.2.0, FAM-Ruby can also be used with Gamin (www.gnome.org/~veillard/gamin/), a GNOME library that is compatible with a subset of FAM. An RDoc-generated API reference is available in doc/, and a brief description of each event code is available in event_codes.txt.
System Requirements
If you don’t have FAM installed, you can use Gamin instead. Note that the FAM-Ruby API changes slightly under Gamin; see "Using FAM-Ruby With Gamin" below for additional information.
Installation
ruby ./extconf.rb # generate Makefile make && su -c "make install" # compile and install library
Using FAM-Ruby With Gamin
Gamin supports a subset of the FAM API, and it adds an additional method. The API differences under Gamin are as follows:
* Fam::Connection#debug_level= is not defined. * Fam::Connection#suspend_monitor exists, but doesn't work * Fam::Connection#resume_monitor exists, but doesn't work * Fam::Connection#monitor_collection exists, but doesn't work * Fam::Connection##no_exists is defined (as of Gamin 0.0.23).
Comparing error values between FAM and Gamin will probably fail, since Gamin defines the same error values (as FamErrlist), but as different values.
A detailed list of differences between FAM and Gamin is available on the Gamin page at www.gnome.org/~veillard/gamin/differences.html.
About the Author
Paul Duncan <pabs@pablotron.org> www.pablotron.org/
See the file AUTHORS for additional contributions.