# File lib/pluginfactory.rb, line 171
171:         def inherited( subclass )
172:                 keys = [ subclass.name, subclass.name.downcase, subclass ]
173: 
174:                 # Handle class names like 'FooBar' for 'Bar' factories.
175:                 if subclass.name.match( /(?:.*::)?(\w+)(?:#{self.factoryType})/i )
176:                         keys << Regexp.last_match[1].downcase
177:                 else
178:                         keys << subclass.name.sub( /.*::/, '' ).downcase
179:                 end
180: 
181:                 keys.uniq.each {|key|
182:                         #PluginFactory::log :info, "Registering %s derivative of %s as %p" %
183:                         #    [ subclass.name, self.name, key ]
184:                         self.derivatives[ key ] = subclass
185:                 }
186:                 super
187:         end