Eliminate boolean argument to Version.new

This commit is contained in:
Jack Nagel 2015-01-07 15:21:20 -05:00
parent 35793f0e0c
commit 4bbefc12e3

View File

@ -155,26 +155,30 @@ class Version
StringToken::PATTERN StringToken::PATTERN
) )
def self.detect(url, specs={}) class FromURL < Version
if specs.has_key?(:tag) def detected_from_url?
new(specs[:tag][/((?:\d+\.)*\d+)/, 1], true) true
else
parse(url)
end end
end end
def initialize(val, detected=false) def self.detect(url, specs={})
if specs.has_key?(:tag)
FromURL.new(specs[:tag][/((?:\d+\.)*\d+)/, 1])
else
FromURL.parse(url)
end
end
def initialize(val)
if val.respond_to?(:to_str) if val.respond_to?(:to_str)
@version = val.to_str @version = val.to_str
else else
raise TypeError, "Version value must be a string" raise TypeError, "Version value must be a string"
end end
@detected_from_url = detected
end end
def detected_from_url? def detected_from_url?
@detected_from_url false
end end
def head? def head?
@ -236,7 +240,7 @@ class Version
def self.parse spec def self.parse spec
version = _parse(spec) version = _parse(spec)
new(version, true) unless version.nil? new(version) unless version.nil?
end end
def self._parse spec def self._parse spec