aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Library/Homebrew/formula.rb7
-rw-r--r--Library/Homebrew/test/test_formula.rb4
2 files changed, 9 insertions, 2 deletions
diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb
index 64f329a7e..09dee3cbe 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 900d7272c..9a509f3bf 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++')