Module: ActiveLdap::Operations::Delete

Defined in:
lib/active_ldap/operations.rb

Instance Method Summary collapse

Instance Method Details

#delete_all(options_or_filter = nil, deprecated_options = nil) ⇒ Object



513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
# File 'lib/active_ldap/operations.rb', line 513

def delete_all(options_or_filter=nil, deprecated_options=nil)
  if deprecated_options.nil?
    if options_or_filter.is_a?(String)
      options = {:filter => options_or_filter}
    else
      options = (options_or_filter || {}).dup
    end
  else
    options = deprecated_options.merge(:filter => options_or_filter)
  end
  targets = search(options).collect do |dn, attributes|
    dn
  end.sort_by do |dn|
    dn.upcase.reverse
  end.reverse

  delete_entry(targets, options)
end

#delete_entry(dn, options = {}) ⇒ Object



532
533
534
535
536
537
538
539
540
# File 'lib/active_ldap/operations.rb', line 532

def delete_entry(dn, options={})
  options[:connection] ||= connection
  begin
    options[:connection].delete(dn, options)
  rescue Error
    format = _("Failed to delete LDAP entry: <%s>: %s")
    raise DeleteError.new(format % [dn.inspect, $!.message])
  end
end

#destroy_all(options_or_filter = nil, deprecated_options = nil) ⇒ Object



495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
# File 'lib/active_ldap/operations.rb', line 495

def destroy_all(options_or_filter=nil, deprecated_options=nil)
  if deprecated_options.nil?
    if options_or_filter.is_a?(String)
      options = {:filter => options_or_filter}
    else
      options = (options_or_filter || {}).dup
    end
  else
    options = deprecated_options.merge(:filter => options_or_filter)
  end

  find(:all, options).sort_by do |target|
    target.dn
  end.each do |target|
    target.destroy
  end
end