class ActiveLdap::Schema::ObjectClass

def collect_attributes

def collect_attributes
  must = attribute('MUST').reject do |name|
    UNWRITABLE_MUST_ATTRIBUTES.include?(name)
  end.uniq
  must = must.collect {|name| @schema.attribute(name)}
  may = attribute('MAY').uniq.collect {|name| @schema.attribute(name)}
  all_must = must.dup
  all_may = may.dup
  @super_classes.each do |super_class|
    all_must.concat(super_class.must(false))
    all_may.concat(super_class.may(false))
  end
  # Clean out the dupes.
  all_must.uniq!
  all_may.uniq!
  [must, may, all_must, all_may]
end