# 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