def Base.connect(config={})
@@config = DEFAULT_CONFIG.dup
config.keys.each do |key|
case key
when :base
base = config[:base].gsub(/['}{#]/, '')
Base.class_eval("def Base.base();'#{base}';end")
when :ldap_scope
if config[:ldap_scope].class != Fixnum
raise ConfigurationError, ':ldap_scope must be a Fixnum'
end
Base.class_eval("def Base.ldap_scope();#{config[:ldap_scope]};end")
else
@@config[key] = config[key]
end
end
@@logger = @@config[:logger] || nil
if @@logger.nil?
@@logger = Log4r::Logger.new('activeldap')
@@logger.level = Log4r::OFF
Log4r::StderrOutputter.new 'console'
@@logger.add('console')
end
@@reconnect_attempts = 0
do_connect()
return true
end