From b78308d2d5a8dd26818eba88bb58ee547d6dfdb0 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Thu, 3 Jul 2014 14:54:14 -0500 Subject: [PATCH] Fix Formula#<=> on trunk Ruby Arguably this method shouldn't exist and sort_by(&:name) used instead. --- Library/Homebrew/formula.rb | 7 +++++-- Library/Homebrew/test/test_formula.rb | 4 ++++ 2 files changed, 9 insertions(+), 2 deletions(-) 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++')