File: README

# README

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

###### =============

- FAM, version 2.6.6.1 (or newer): oss.sgi.com/projects/fam/
- Ruby, version 1.6.7 (or newer): www.ruby-lang.org/

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.

[Validate]