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