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:
== Project Page
== 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.