# Treequel 1.1.0

**URL:** <https://www.ruby-forum.com/t/treequel-1-1-0/195277>\
**Category:** Ruby\
**Created:** [September 20, 2010, 11:42pm UTC](https://www.ruby-forum.com/t/treequel-1-1-0/195277 "2010-09-20T23:42:35Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![mgreenly](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/85f322/32.png) [@mgreenly](https://www.ruby-forum.com/u/mgreenly)\
**Post date:** [September 20, 2010, 11:42pm UTC](https://www.ruby-forum.com/t/treequel-1-1-0/195277/1 "2010-09-20T23:42:35Z")

</div>

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/](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:

[dev(E)iate](http://deveiate.org/projects/Treequel/browser/examples)

== Project Page

[dev(E)iate](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](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](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.
