class ActiveSambaLdap::UnixIdPool
Public Class Methods
ldap_mapping(options={})
click to toggle source
Calls superclass method
# File lib/active_samba_ldap/unix_id_pool.rb, line 8 def ldap_mapping(options={}) default_options = { :dn_attribute => "sambaDomainName", :prefix => "", :classes => ["top", "sambaDomain", "sambaUnixIdPool"], } options = default_options.merge(options) super options end
Public Instance Methods
find_available_gid_number(group_class)
click to toggle source
# File lib/active_samba_ldap/unix_id_pool.rb, line 25 def find_available_gid_number(group_class) find_available_number(group_class, "gidNumber", gid_number) do group_class.configuration[:start_gid] end end
find_available_uid_number(account_class)
click to toggle source
# File lib/active_samba_ldap/unix_id_pool.rb, line 19 def find_available_uid_number(account_class) find_available_number(account_class, "uidNumber", uid_number) do account_class.configuration[:start_uid] end end
Private Instance Methods
find_available_number(klass, key, start_value) { || ... }
click to toggle source
# File lib/active_samba_ldap/unix_id_pool.rb, line 32 def find_available_number(klass, key, start_value) number = Integer(start_value || yield) 100.times do |i| return number if klass.search(:filter => "(#{key}=#{number})").empty? number += 1 end nil end