Revision 38e5c5db
Added by Marc Dequènes over 14 years ago
- ID 38e5c5db43a5c6082ff3f271426f5889810e5b04
lib/ldap_shadows/elements/object.rb | ||
---|---|---|
# default
|
||
ldap_mapping :prefix => '', :classes => ['top'], :scope => :sub
|
||
|
||
def handle
|
||
name = self[dn_attribute] || self.attributes[dn_attribute] || self.dn
|
||
name = name[0] if name.is_a? Array
|
||
name.strip
|
||
end
|
||
|
||
def full_handle
|
||
"#{self.class.handle}/#{self.handle}"
|
||
end
|
||
|
||
def self.cast
|
||
super
|
||
|
||
... | ... | |
instance_variable_set(:@relations_info, object_relations_info)
|
||
end
|
||
|
||
def name
|
||
name = self[dn_attribute] || self.attributes[dn_attribute] || self.dn
|
||
name = name[0] if name.is_a? Array
|
||
name.strip
|
||
end
|
||
|
||
def has_field?(field)
|
||
return false if field.downcase == "objectclass"
|
||
has_attribute?(field)
|
||
... | ... | |
if obj_hdl
|
||
obj_klass = shadow.get_object(obj_hdl)
|
||
item = obj_klass.new(raw_item.dn)
|
||
{:name => "#{obj_hdl}/#{item.name}", :item => item, :object => obj_klass}
|
||
{:name => item.full_handle, :item => item, :object => obj_klass}
|
||
else
|
||
{:name => "unknown/#{raw_item.dn}"}
|
||
end
|
||
... | ... | |
if data.empty?
|
||
value = nil
|
||
else
|
||
value = data.collect{|g| g.name }
|
||
value = data.collect{|g| g.handle }
|
||
multiple = true
|
||
end
|
||
else
|
||
# the exists? method also ensure the object is loaded
|
||
if data.exists?
|
||
value = data.name
|
||
value = data.handle
|
||
else
|
||
value = nil
|
||
end
|
Also available in: Unified diff
[evol] introduce item 'full-handle' and reorganize command arguments, and renamed commands