class ShowRSS::Feed
Attributes
results[R]
Public Class Methods
new(url)
click to toggle source
# File lib/showrss/feed.rb, line 9 def initialize(url) @url = URI.encode(url) @results = fetch_results end
Protected Instance Methods
fetch_results()
click to toggle source
# File lib/showrss/feed.rb, line 16 def fetch_results retryable(tries: 5) do rss = Mash.new(HTTParty.get(@url).parsed_response["rss"]) rss.channel.item.collect do |item| parse_metadata(item) end end end
parse_metadata(item)
click to toggle source
# File lib/showrss/feed.rb, line 25 def parse_metadata(item) metadata = item.title.gsub(/#{Regexp.escape(item.showname)}\s(\d+\-\d+\-\d+|\d+x\d+).*/, '\1') if metadata =~ /\d+x\d+/ item.season, item.episode = metadata.split("x").collect{ |i| i.to_i } elsif metadata =~ /\d+\-\d+\-\d+/ year, month, day = metadata.split("-").collect{ |i| i.to_i } item.first_aired = Time.new(year, month, day) end item.quality = item.title.include?("720p") ? "720p" : "SDTV" item end