aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/formula_support.rb
diff options
context:
space:
mode:
authorJack Nagel2013-06-28 21:17:12 -0500
committerJack Nagel2013-06-28 21:17:23 -0500
commit033ef09518f5da1fdb56adb4cb90abd30e7223a6 (patch)
tree5092b352240dba70ea2985fe306c5eed0d0288d0 /Library/Homebrew/formula_support.rb
parent74b60a561c5502f2d1a6864681302fbda3da0589 (diff)
downloadbrew-033ef09518f5da1fdb56adb4cb90abd30e7223a6.tar.bz2
Detect versions in tag specs
Closes Homebrew/homebrew#18300. Closes Homebrew/homebrew#20891.
Diffstat (limited to 'Library/Homebrew/formula_support.rb')
-rw-r--r--Library/Homebrew/formula_support.rb15
1 files changed, 9 insertions, 6 deletions
diff --git a/Library/Homebrew/formula_support.rb b/Library/Homebrew/formula_support.rb
index f5936ea65..1ef4d3abc 100644
--- a/Library/Homebrew/formula_support.rb
+++ b/Library/Homebrew/formula_support.rb
@@ -35,6 +35,14 @@ class SoftwareSpec
raise e
end
+ 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)
+ end
+ end
+
# The methods that follow are used in the block-form DSL spec methods
Checksum::TYPES.each do |cksum|
class_eval <<-EOS, __FILE__, __LINE__ + 1
@@ -52,12 +60,7 @@ class SoftwareSpec
end
def version val=nil
- @version ||=
- case val
- when nil then Version.parse(@url)
- when Hash then Version.new_with_scheme(*val.shift)
- else Version.new(val)
- end
+ @version ||= detect_version(val)
end
def mirror val