Sha256: ca7ce1b1ba2b08a0f59cff167f2e2b49fb7e7e31f98985830bfad7d82ae7b374

Contents?: true

Size: 922 Bytes

Versions: 8

Compression:

Stored size: 922 Bytes

Contents

class TestContact
  include DataMapper::Resource

  property :id,        Serial, :field => "uidNumber"
  property :login,     String, :field => "uid", :unique_index => true
  property :hashed_password,  String, :field => "userPassword", :lazy => true
  property :name,      String, :field => "cn"
  property :mail,      ::Ldap::LdapArray

  dn_prefix { |contact| "uid=#{contact.login}"}

  treebase "ou=people"

  ldap_properties do |contact|
    properties = { :objectclass => ["inetOrgPerson", "posixAccount", "shadowAccount"], :loginshell => "/bin/bash", :gidnumber => "10000" }
    properties[:sn] = "#{contact.name.sub(/.*\ /, "")}"
    properties[:givenname] = "#{contact.name.sub(/\ .*/, "")}"
    properties[:homedirectory] = "/home/#{contact.login}"
    properties
  end

  def password=(password)
    attribute_set(:hashed_password, Ldap::Digest.ssha(password, "--#{Time.now}--#{login}--")) if password
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
dm-ldap-adapter-0.4.7 spec/support/test_contact.rb
dm-ldap-adapter-0.4.8 spec/support/test_contact.rb
dm-ldap-adapter-0.4.6 spec/support/test_contact.rb
dm-ldap-adapter-0.4.6-java spec/support/test_contact.rb
dm-ldap-adapter-0.4.5-java spec/support/test_contact.rb
dm-ldap-adapter-0.4.5 spec/support/test_contact.rb
dm-ldap-adapter-0.4.4-java spec/support/test_contact.rb
dm-ldap-adapter-0.4.4 spec/support/test_contact.rb