Look in more places for URL, short version and version.

This commit is contained in:
Markus Reiter 2020-12-14 11:34:27 +01:00 committed by Sam Ford
parent 02849cf3e7
commit 3aa5395f75
No known key found for this signature in database
GPG Key ID: 95209E46C7FFDEFE

View File

@ -58,17 +58,24 @@ module Homebrew
items = xml.xpath("//rss//channel//item").map do |item|
enclosure = (item > "enclosure").first
next unless enclosure
url = enclosure&.attr("url")
short_version = enclosure&.attr("shortVersionString")
version = enclosure&.attr("version")
short_version ||= enclosure["shortVersionString"]
version ||= enclosure["version"]
url ||= (item > "link").first&.text
short_version ||= (item > "shortVersionString").first&.text&.strip
version ||= (item > "version").first&.text&.strip
short_version ||= (item > "shortVersionString").first&.text
version ||= (item > "version").first&.text
title = (item > "title").first&.text&.strip
if match = title&.match(/(\d+(?:\.\d+)*)\s*(\([^)]+\))?\Z/)
short_version ||= match[1]
version ||= match[2]
end
data = {
title: (item > "title").first&.text,
url: enclosure["url"],
title: title,
url: url,
bundle_version: short_version || version ? BundleVersion.new(short_version, version) : nil,
}.compact