diff --git a/Library/Homebrew/macos.rb b/Library/Homebrew/macos.rb index 05faa04127..87034f86d3 100644 --- a/Library/Homebrew/macos.rb +++ b/Library/Homebrew/macos.rb @@ -1,10 +1,11 @@ +require 'macos/version' + module MacOS extend self # This can be compared to numerics, strings, or symbols # using the standard Ruby Comparable methods. def version - require 'version' - MacOSVersion.new(MACOS_VERSION.to_s) + Version.new(MACOS_VERSION) end def cat diff --git a/Library/Homebrew/macos/version.rb b/Library/Homebrew/macos/version.rb new file mode 100644 index 0000000000..090b1ffb7d --- /dev/null +++ b/Library/Homebrew/macos/version.rb @@ -0,0 +1,16 @@ +require 'version' + +module MacOS + class Version < ::Version + 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 +end diff --git a/Library/Homebrew/test/test_version_subclasses.rb b/Library/Homebrew/test/test_version_subclasses.rb index 19ed2ba351..93711ac441 100644 --- a/Library/Homebrew/test/test_version_subclasses.rb +++ b/Library/Homebrew/test/test_version_subclasses.rb @@ -1,9 +1,10 @@ require 'testing_env' require 'version' +require 'macos/version' class MacOSVersionTests < Test::Unit::TestCase def setup - @v = MacOSVersion.new(10.7) + @v = MacOS::Version.new(10.7) end def test_compare_with_symbol diff --git a/Library/Homebrew/version.rb b/Library/Homebrew/version.rb index 07f3616820..e504843dee 100644 --- a/Library/Homebrew/version.rb +++ b/Library/Homebrew/version.rb @@ -208,17 +208,3 @@ class VersionSchemeDetector raise "Unknown version scheme #{@scheme} was requested." end end - -# Enable things like "MacOS.version >= :lion" -class MacOSVersion < Version - 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