advanced version detection

This commit is contained in:
Christian Mehlmauer
2015-01-19 23:38:26 +01:00
parent 2d39e5b1fa
commit 53f3ce8b1f
3 changed files with 86 additions and 1 deletions

View File

@@ -13,7 +13,15 @@ class WpItem
# This check is needed because readme_url can return nil
if has_readme?
response = Browser.get(readme_url)
@version = response.body[/(?:stable tag|version):\s*(?!trunk)([0-9a-z.-]+)/i, 1]
version = response.body[/(?:stable tag|version):\s*(?!trunk)([0-9a-z.-]+)/i, 1]
if version.nil?
extracted_versions = response.body.scan(/[=]+\s*([0-9.-]+)\s*[=]+/i)
return if extracted_versions.nil? || extracted_versions.length == 0
sorted = extracted_versions.flatten.sort { |x,y| Gem::Version.new(x) <=> Gem::Version.new(y) }
@version = sorted.last
else
@version = version
end
end
end
@version