diff --git a/Library/Homebrew/resource.rb b/Library/Homebrew/resource.rb index 6a72a6e997c4cb16884b195e205340282a0d3825..3409845a04dd9e36c89257a6c12cdf8d3b2c715a 100644 --- a/Library/Homebrew/resource.rb +++ b/Library/Homebrew/resource.rb @@ -118,9 +118,9 @@ class Resource def detect_version(val) case val - when nil then Version.detect(url, specs) - when String then Version.new(val) - when Hash then Version.new_with_scheme(*val.shift) + when nil then Version.detect(url, specs) + when String then Version.new(val) + when Version then val else raise TypeError, "version '#{val.inspect}' should be a string" end diff --git a/Library/Homebrew/test/test_resource.rb b/Library/Homebrew/test/test_resource.rb index 3cfe592e1e2bba45337a909c9f552c2ef6384fe9..2baf4750e098c9b6eba5d03cd14083baf3a839f2 100644 --- a/Library/Homebrew/test/test_resource.rb +++ b/Library/Homebrew/test/test_resource.rb @@ -61,10 +61,10 @@ class ResourceTests < Test::Unit::TestCase end def test_version_with_scheme - scheme = Class.new(Version) - @resource.version('1.0' => scheme) + klass = Class.new(Version) + @resource.version klass.new("1.0") assert_version_equal '1.0', @resource.version - assert_instance_of scheme, @resource.version + assert_instance_of klass, @resource.version end def test_version_from_tag diff --git a/Library/Homebrew/version.rb b/Library/Homebrew/version.rb index 2e0bc85a5323a454c1bbf240a67a4b66cbf27aa8..cd1c149897ec78b6ff66af1556f1d8b44b490945 100644 --- a/Library/Homebrew/version.rb +++ b/Library/Homebrew/version.rb @@ -155,14 +155,6 @@ class Version StringToken::PATTERN ) - def self.new_with_scheme(value, scheme) - if Class === scheme && scheme.ancestors.include?(Version) - scheme.new(value) - else - raise TypeError, "Unknown version scheme #{scheme.inspect}" - end - end - def self.detect(url, specs={}) if specs.has_key?(:tag) new(specs[:tag][/((?:\d+\.)*\d+)/, 1], true)