# 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