diff --git a/Library/Homebrew/version.rb b/Library/Homebrew/version.rb index 982c83bfe7..eaf201a08c 100644 --- a/Library/Homebrew/version.rb +++ b/Library/Homebrew/version.rb @@ -188,13 +188,6 @@ class Version m = /\.v(\d+[a-z]?)/.match(stem) return m.captures.first unless m.nil? end - - # DSL for defining comparators - class << self - def compare &blk - send(:define_method, '<=>', &blk) - end - end end class VersionSchemeDetector @@ -220,13 +213,14 @@ end # Enable things like "MacOS.version >= :lion" class MacOSVersion < Version - compare do |other| - super Version.new case other - when :mountain_lion then 10.8 - when :lion then 10.7 - when :snow_leopard then 10.6 - when :leopard then 10.5 - else other.to_s - end + def <=>(other) + v = case other + when :mountain_lion then 10.8 + when :lion then 10.7 + when :snow_leopard then 10.6 + when :leopard then 10.5 + else other.to_s + end + super(Version.new(v)) end end