GitHub Sale: sign up for any paid plan this week and pay nothing until January 1, 2009!  [ hide ]

public
Fork of automatthew/ambitious_activeldap
Description: Ambition adapter for ActiveLdap
Clone URL: git://github.com/defunkt/ambitious_activeldap.git
automatthew (author)
Wed Jan 30 17:44:51 -0800 2008
commit  b41298a74e3a83317f527c36fe1f13d55b2046b8
tree    3a2c7e9989480fca01a0cbc591f069a05ad041b7
parent  79fbd286a0eedcc6965892077bafd4df371a2727
name age message
file LICENSE Wed Jan 30 17:42:57 -0800 2008 updated license and Rakefile author info; chang... [automatthew]
file Manifest Wed Jan 30 17:44:51 -0800 2008 updated manifest [automatthew]
file README Wed Jan 30 17:42:57 -0800 2008 updated license and Rakefile author info; chang... [automatthew]
file Rakefile Wed Jan 30 17:42:57 -0800 2008 updated license and Rakefile author info; chang... [automatthew]
directory lib/ Wed Jan 30 17:43:46 -0800 2008 removed to_hash as useless [automatthew]
directory test/ Wed Jan 30 12:06:34 -0800 2008 copied from ambition [automatthew]
README
h2. An Ambitious ActiveLdap Adapter

Write LDAP search filters in Ruby.  Awesomeness courtesy of Chris Wanstrath's Ambition library.

h2. Get It 

@$ sudo gem install ambitious-activeldap@


<pre>
require 'rubygems'
require 'ambition/adapters/active_ldap'
</pre>

h2. Examples

<ruby>
User.select { |u| u.givenName == 'Severian' }.each do |user|
  puts user.name
end
</ruby>

Queries don't run until you kick them. This adapter supports only the basic kicker methods: @each@, @each_with_index@, 
@map@, @entries@, @to_a@. 

This adapter also doesn't support the methods that require sorting, slicing, or counting, because OpenLDAP effectively 
doesn't support such things.  ActiveLdap lets you request sorted and sliced result sets, but it does the work in Ruby, 
so you might as well do it yourself.

You can call @to_s@, but not @to_hash@ on a query.  @to_s@ returns the LDAP search filter as a string.

<ruby>
>> User.select { |m| m.givenName == 'Jonas' }.to_s
=> "(givenName=Jonas)"
</ruby>



h2. Issues.find(:all, :filter => "(type=bug)") 

Found a bug?  Sweet.  Add it at "the Lighthouse":http://err.lighthouseapp.com/projects/466-plugins/tickets/new.

More information on Ambition:

  * "http://ambition.rubyforge.org":http://ambition.rubyforge.org
  * "http://groups.google.com/group/ambition-rb/":http://groups.google.com/group/ambition-rb/