Treequel is an LDAP toolkit for Ruby. It is intended to allow quick, easy
access to LDAP directories in a manner consistent with LDAP's hierarchical,
free-form nature. 

It's inspired by and modeled after Sequel (http://sequel.rubyforge.org/), a
kick-ass database library.


== Examples

Here are a few short examples to whet your appetite:

  # Connect to the directory at the specified URL
  dir = Treequel.directory( 'ldap://ldap.company.com/dc=company,dc=com' )

  # Get a list of email addresses of every 'person' in the directory that
  # has one
  dir.filter( :objectClass => :person ).filter( :mail ).map( :mail ).flatten

  # Get a list of all IP addresses for all hosts in any ou=hosts group
  # in the whole directory:
  dir.filter( :ou => :hosts ).collection.filter( :ipHostNumber ).
    map( :ipHostNumber ).flatten

  # Get all people in the directory under ou=people in the form of a hash of
  # names keyed by email addresses
  dir.ou( :people ).filter( :mail ).to_hash( :mail, :cn )

More elaborate examples of real-world usage can be found in the examples/ 
directory in the distribution. You can also browse them in a web browser 
via the project page:

  http://deveiate.org/projects/Treequel/browser/examples


== Project Page

  http://deveiate.org/projects/Treequel


== Installation

Via gems:

  $ sudo gem install treequel

or from source:

  $ wget http://deveiate.org/code/treequel-1.1.0.tar.gz
  $ tar -xzvf treequel-1.1.0.tar.gz
  $ cd treequel-1.1.0
  $ sudo rake install

== Changes

This release adds an object-hierarchical mapper mechanism in the form of a new
class (Treequel::Model) and a mixin for adding your own extensions
(Treequel::Model::ObjectClass). See http://deveiate.org/treequel/model.html
for details.

There are also numerous bugfixes and enhancements to both the Treequel library
and the 'treequel' shell in this release. For a full breakdown, see the
ChangeLog.