Project

General

Profile

« Previous | Next » 

Revision 560c7b40

Added by Marc Dequènes over 14 years ago

  • ID 560c7b40c0c0635a3c3e6b4a7887ef8bbda0037e

[fix] ensure removing an aspect also remove reverse-depends

View differences:

lib/ldap_shadows/elements/object.rb
def remove_aspect(aspect_name)
return unless self.class.possible_aspects.include?(aspect_name)
# remove reverse-depends
self.class.possible_aspects.each do |rdep_aspect_name|
if self.class.shadow.get_aspect(rdep_aspect_name).parameters[:mapping][:depend_aspects].include?(aspect_name)
remove_aspect(rdep_aspect_name)
end
end
aspect_mapping = self.class.shadow.get_aspect(aspect_name).parameters[:mapping]
remove_class(*aspect_mapping[:classes])
end

Also available in: Unified diff