Sparkle: Ensure empty strings become nil
Sometimes appcasts contain empty elements/attributes and the `Item` values end up as an empty string because of how they're handled in `#items_from_content`. It's reasonable to expect that empty values would be `nil` instead, so this adds `#presence` calls to ensure this is the case.
This commit is contained in:
parent
25d1f1064a
commit
4f469234d0
@ -86,19 +86,19 @@ module Homebrew
|
|||||||
enclosure = item.elements["enclosure"]
|
enclosure = item.elements["enclosure"]
|
||||||
|
|
||||||
if enclosure
|
if enclosure
|
||||||
url = enclosure["url"]
|
url = enclosure["url"].presence
|
||||||
short_version = enclosure["shortVersionString"]
|
short_version = enclosure["shortVersionString"].presence
|
||||||
version = enclosure["version"]
|
version = enclosure["version"].presence
|
||||||
os = enclosure["os"]
|
os = enclosure["os"].presence
|
||||||
end
|
end
|
||||||
|
|
||||||
title = item.elements["title"]&.text&.strip
|
title = item.elements["title"]&.text&.strip&.presence
|
||||||
link = item.elements["link"]&.text&.strip
|
link = item.elements["link"]&.text&.strip&.presence
|
||||||
url ||= link
|
url ||= link
|
||||||
channel = item.elements["channel"]&.text&.strip
|
channel = item.elements["channel"]&.text&.strip&.presence
|
||||||
release_notes_link = item.elements["releaseNotesLink"]&.text&.strip
|
release_notes_link = item.elements["releaseNotesLink"]&.text&.strip&.presence
|
||||||
short_version ||= item.elements["shortVersionString"]&.text&.strip
|
short_version ||= item.elements["shortVersionString"]&.text&.strip&.presence
|
||||||
version ||= item.elements["version"]&.text&.strip
|
version ||= item.elements["version"]&.text&.strip&.presence
|
||||||
|
|
||||||
pub_date = item.elements["pubDate"]&.text&.strip&.presence&.then do |date_string|
|
pub_date = item.elements["pubDate"]&.text&.strip&.presence&.then do |date_string|
|
||||||
Time.parse(date_string)
|
Time.parse(date_string)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user