class Object
Constants
- DEFAULT_GENERATOR_STRING
Constants
- DUPLICATE_GUID_WARNING
- INVALID_URL_WARNING
- MISSING_FILE_SIZE_WARNING
- NO_ARTWORK_WARNING
Warning Strings
- NO_CATEGORIES_WARNING
- NO_DURATION_WARNING
- NO_MEDIA_URL_WARNING
Public Instance Methods
detect_duplicate_guids(episodes)
click to toggle source
# File lib/podcast_feed_generator.rb, line 28 def detect_duplicate_guids episodes episode_guids = episodes.filter_map{|e| e["guid"] if e} length_before_uniq = episode_guids.length length_after_uniq = episode_guids.uniq.length id = episode_guids.group_by{|e| e}.keep_if{|_, e| e.length > 1} if length_after_uniq < length_before_uniq STDERR.puts DUPLICATE_GUID_WARNING % { guid: id } end end
url_valid?(url)
click to toggle source
Helpers
# File lib/podcast_feed_generator.rb, line 24 def url_valid? url URI.parse(url).kind_of?(URI::HTTP) end
verifyHasArtwork(channel_details)
click to toggle source
# File lib/podcast_feed_generator.rb, line 42 def verifyHasArtwork channel_details STDERR.puts NO_ARTWORK_WARNING if channel_details["podcastArtworkUrl"].nil? || channel_details["podcastArtworkUrl"].empty? end
verifyHasCategories(channel_details)
click to toggle source
# File lib/podcast_feed_generator.rb, line 46 def verifyHasCategories channel_details if channel_details["categories"].nil? || channel_details["categories"].empty? STDERR.puts NO_CATEGORIES_WARNING end end
verifyHasDuration(episode)
click to toggle source
# File lib/podcast_feed_generator.rb, line 52 def verifyHasDuration episode if episode["duration"].nil? STDERR.puts NO_DURATION_WARNING % { episode_number: episode["episodeNumber"], episode_title: episode["title"] } end end
verifyMediaFileBytes(episode)
click to toggle source
# File lib/podcast_feed_generator.rb, line 79 def verifyMediaFileBytes episode if episode["mediaFileSizeBytes"].nil? || episode["mediaFileSizeBytes"].empty? STDERR.puts MISSING_FILE_SIZE_WARNING % { fileSize: episode["mediaFileSizeBytes"], episode_number: episode["episodeNumber"] || feed_info["episodes"].length - index, episode_title: episode["title"] } end end
verifyMediaFileUrl(episode)
click to toggle source
# File lib/podcast_feed_generator.rb, line 61 def verifyMediaFileUrl episode if episode["mediaFileUrl"].nil? || episode["mediaFileUrl"].empty? STDERR.puts NO_MEDIA_URL_WARNING % { url: episode["mediaFileUrl"], episode_number: episode["episodeNumber"], episode_title: episode["title"] } else unless url_valid? episode["mediaFileUrl"] STDERR.puts INVALID_URL_WARNING % { url: episode["mediaFileUrl"], episode_number: episode["episodeNumber"], episode_title: episode["title"] } end end end