def validate
@@logger.debug("stub: validate called")
send(:enforce_types)
@data['objectClass'].each do |klass|
unless klass.class == String
raise TypeError, "Value in objectClass array is not a String. (#{klass.class}:#{klass.inspect})"
end
unless Base.schema.names("objectClasses").member? klass
raise ObjectClassError, "objectClass '#{klass}' unknown to LDAP server."
end
end
required_classes().each do |oc|
unless @data['objectClass'].member? oc.to_s
raise ObjectClassError, "'#{oc}' must be a defined objectClass for class '#{self.class}' as set in the ldap_mapping"
end
end
@data['objectClass'].each do |objc|
@must.each do |req_attr|
deref = @attr_methods[req_attr.downcase]
@data[deref] = [] if @data[deref].nil?
if @data[deref].empty?
raise AttributeEmpty,
"objectClass '#{objc}' requires attribute '#{Base.schema.attribute_aliases(req_attr).join(', ')}'"
end
end
end
@@logger.debug("stub: validate finished")
end