diff --git a/Library/Homebrew/formulary.rb b/Library/Homebrew/formulary.rb index e99dc0815e..350854bbad 100644 --- a/Library/Homebrew/formulary.rb +++ b/Library/Homebrew/formulary.rb @@ -21,10 +21,12 @@ class Formulary end def self.class_s name - name = name.capitalize - name.gsub!(/[-_.\s]([a-zA-Z0-9])/) { $1.upcase } - name.gsub!('+', 'x') - name + (@class_s ||= {}).fetch(name) do + class_name = name.capitalize + class_name.gsub!(/[-_.\s]([a-zA-Z0-9])/) { $1.upcase } + class_name.gsub!('+', 'x') + @class_s[name] = class_name + end end # A FormulaLoader returns instances of formulae.