Project

General

Profile

« Previous | Next » 

Revision 38e5c5db

Added by Marc Dequènes over 14 years ago

  • ID 38e5c5db43a5c6082ff3f271426f5889810e5b04

[evol] introduce item 'full-handle' and reorganize command arguments, and renamed commands

View differences:

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