Eliminate boolean argument to Version.new
This commit is contained in:
parent
35793f0e0c
commit
4bbefc12e3
@ -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
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user