Two ActiveLDAP questions

Two questions about ActiveLDAP:

Question #1:
When I create an ActiveLDAP::Base object, the dn attribute used in the
mapping does not get an accessor method. For example:

require ‘activeldap’

class Person < ActiveLDAP::Base
ldap_mapping :dnattr => ‘uid’, :prefix => ‘ou=People’

:host => ‘localhost’,
:port => 40003,
:base => ‘dc=cusys,dc=edu’,
:bind_format => ‘uid=admin,dc=cusys,dc=edu’,
:password_block => { ‘SecretWord’ },
:allow_anonymous => false

for person in Person.find_all(:attribute => ‘givenName’, :value =>
‘Puppy’, :objects => true) do
puts "DN: " + person.dn
puts "CN: " +[0]
puts "UID: " + person.uid[0]


There is definitely a uid attribute in the LDAP. But when I run the
above, I get this:

DN: uid=PBarksalot,ou=People,dc=cusys,dc=edu
CN: Puppy Barksalot
method_missing': undefined methoduid’ for #Person:0xb7565dac
from ./test.rb:24
from ./test.rb:21:in `each’
from ./test.rb:21

When I do a person.inspect, I see a data member called “nil” that
points to the string that should be in “uid”:

…@data={“cn”=>[“Puppy Barksalot”], nil=>[“PBarksalot”],
“sn”=>[“Barksalot”], “objectClass”=>[“top”, “person”,
“organizationalPerson”, “inetorgperson”]}>

Can anyone help me out?

Question #2:

I’m trying to use ActiveLDAP in Rails, just like the above but with the
relevant code snippets distributed to config, models, views and so on.
I can get my application to query the LDAP successfully; a
person.inspect shows all the attributes’ values are returned. However,
none of the accessor methods are created. The collection that should
hold them, @attr_methods, is empty.

Has anyone seen/solved this?



This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs