From cfdd23b3efcfc994908dfb6792c8d062a19f12f1 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Sat, 3 Aug 2013 20:02:10 -0700 Subject: bottles: use dedicated version class. --- Library/Homebrew/bottle_version.rb | 8 ++++++++ Library/Homebrew/bottles.rb | 3 ++- Library/Homebrew/test/test_bottle_versions.rb | 8 ++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 Library/Homebrew/bottle_version.rb create mode 100644 Library/Homebrew/test/test_bottle_versions.rb (limited to 'Library') diff --git a/Library/Homebrew/bottle_version.rb b/Library/Homebrew/bottle_version.rb new file mode 100644 index 000000000..6ad8ebeb7 --- /dev/null +++ b/Library/Homebrew/bottle_version.rb @@ -0,0 +1,8 @@ +class BottleVersion < Version + def self._parse spec + spec = Pathname.new(spec) unless spec.is_a? Pathname + stem = spec.stem + + super + end +end diff --git a/Library/Homebrew/bottles.rb b/Library/Homebrew/bottles.rb index 60a4dcca0..ab484c134 100644 --- a/Library/Homebrew/bottles.rb +++ b/Library/Homebrew/bottles.rb @@ -1,6 +1,7 @@ require 'tab' require 'macos' require 'extend/ARGV' +require 'bottle_version' # TODO: use options={} for some arguments. @@ -91,8 +92,8 @@ def bottle_tag end def bottle_filename_formula_name filename - version = Version.parse(filename).to_s path = Pathname.new filename + version = BottleVersion.parse(path).to_s basename = path.basename.to_s basename.rpartition("-#{version}").first end diff --git a/Library/Homebrew/test/test_bottle_versions.rb b/Library/Homebrew/test/test_bottle_versions.rb new file mode 100644 index 000000000..f418912b7 --- /dev/null +++ b/Library/Homebrew/test/test_bottle_versions.rb @@ -0,0 +1,8 @@ +require 'testing_env' +require 'bottle_version' + +class BottleVersionParsingTests < Test::Unit::TestCase + def assert_version_detected expected, path + assert_equal expected, BottleVersion.parse(path).to_s + end +end -- cgit v1.2.3