diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 64f329a7ee..09dee3cbe7 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -301,9 +301,12 @@ class Formula def hash name.hash end - def <=> b - name <=> b.name + + def <=>(other) + return unless Formula === other + name <=> other.name end + def to_s name end diff --git a/Library/Homebrew/test/test_formula.rb b/Library/Homebrew/test/test_formula.rb index 900d7272cd..9a509f3bfd 100644 --- a/Library/Homebrew/test/test_formula.rb +++ b/Library/Homebrew/test/test_formula.rb @@ -139,6 +139,10 @@ class FormulaTests < Homebrew::TestCase refute_equal TestBall.new, Object.new end + def test_sort_operator + assert_nil TestBall.new <=> Object.new + end + def test_class_naming assert_equal 'ShellFm', Formulary.class_s('shell.fm') assert_equal 'Fooxx', Formulary.class_s('foo++')