module ActiveLdap::ObjectClass

Public Class Methods

included(base) click to toggle source
# File lib/active_ldap/object_class.rb, line 3
def self.included(base)
  base.extend(ClassMethods)
end

Public Instance Methods

add_class(*target_classes) click to toggle source
# File lib/active_ldap/object_class.rb, line 15
def add_class(*target_classes)
  replace_class(classes + target_classes)
end
classes() click to toggle source
# File lib/active_ldap/object_class.rb, line 37
def classes
  (get_attribute('objectClass', true) || []).dup
end
classes=(*target_classes) click to toggle source
Alias for: replace_class
remove_class(*target_classes) click to toggle source
# File lib/active_ldap/object_class.rb, line 23
def remove_class(*target_classes)
  replace_class(classes - target_classes)
end
replace_class(*target_classes) click to toggle source
# File lib/active_ldap/object_class.rb, line 27
def replace_class(*target_classes)
  new_classes = target_classes.flatten.compact.uniq
  assert_object_classes(new_classes)
  if new_classes.sort != classes.sort
    set_attribute('objectClass', new_classes)
    clear_object_class_based_cache
  end
end
Also aliased as: classes=