Method: ActiveLdap::Operations::Delete#delete_all

Defined in:
lib/active_ldap/operations.rb

#delete_all(filter = nil, options = {}) ⇒ Object



348
349
350
351
352
353
354
355
356
357
358
359
# File 'lib/active_ldap/operations.rb', line 348

def delete_all(filter=nil, options={})
  options = {:base => base, :scope => scope}.merge(options)
  options = options.merge(:filter => filter) if filter
  conn = options[:connection] || connection
  targets = conn.search(options).collect do |dn, attributes|
    dn
  end.sort_by do |dn|
    dn.upcase.reverse
  end.reverse

  conn.delete(targets)
end