Sha256: 85c21f63ecbc971a5af9c7aa71b8528ca14b76b99da81651979abe7bcdd39eb9
Contents?: true
Size: 851 Bytes
Versions: 5
Compression:
Stored size: 851 Bytes
Contents
require "rss" module Feedcellar class Resource def self.parse(url) begin rss = RSS::Parser.parse(url) rescue RSS::InvalidRSSError rss = RSS::Parser.parse(url, false) rescue $stderr.puts "WARNING: #{$!} (#{url})" return nil end unless rss $stderr.puts "ERROR: Invalid URL" return nil end resource = {} if rss.is_a?(RSS::Atom::Feed) resource["xmlUrl"] = url resource["title"] = rss.title.content resource["htmlUrl"] = rss.link.href resource["description"] = rss.dc_description else resource["xmlUrl"] = url resource["title"] = rss.channel.title resource["htmlUrl"] = rss.channel.link resource["description"] = rss.channel.description end resource end end end
Version data entries
5 entries across 5 versions & 1 rubygems