Module: ActiveLdap::ObjectClass

Defined in:
lib/active_ldap/object_class.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



3
4
5
# File 'lib/active_ldap/object_class.rb', line 3

def self.included(base)
  base.extend(ClassMethods)
end

Instance Method Details

#add_class(*target_classes) ⇒ Object



10
11
12
# File 'lib/active_ldap/object_class.rb', line 10

def add_class(*target_classes)
  replace_class((classes + target_classes.flatten).uniq)
end

#classesObject



26
27
28
# File 'lib/active_ldap/object_class.rb', line 26

def classes
  (get_attribute('objectClass', true) || []).dup
end

#remove_class(*target_classes) ⇒ Object



14
15
16
17
18
# File 'lib/active_ldap/object_class.rb', line 14

def remove_class(*target_classes)
  new_classes = (classes - target_classes.flatten).uniq
  assert_object_classes(new_classes)
  set_attribute('objectClass', new_classes)
end

#replace_class(*target_classes) ⇒ Object



20
21
22
23
24
# File 'lib/active_ldap/object_class.rb', line 20

def replace_class(*target_classes)
  new_classes = target_classes.flatten.uniq
  assert_object_classes(new_classes)
  set_attribute('objectClass', new_classes)
end