diff options
Diffstat (limited to 'sample/rss/rss_recent.rb')
-rwxr-xr-x[-rw-r--r--] | sample/rss/rss_recent.rb | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/sample/rss/rss_recent.rb b/sample/rss/rss_recent.rb index 7821df5c7b..38b57c37fa 100644..100755 --- a/sample/rss/rss_recent.rb +++ b/sample/rss/rss_recent.rb @@ -55,16 +55,20 @@ ARGV.each do |fname| rescue RSS::UnknownConversionMethodError error($!) if verbose end - rss.items.each do |item| - if item.respond_to?(:pubDate) and item.pubDate - class << item - alias_method(:dc_date, :pubDate) - end - end - if item.respond_to?(:dc_date) and item.dc_date - items << [rss.channel, item] + + rss = rss.to_rss("1.0") do |maker| + maker.channel.about ||= maker.channel.link + maker.channel.description ||= "No description" + maker.items.each do |item| + item.title ||= "UNKNOWN" + item.link ||= "UNKNOWN" end end + next if rss.nil? + + rss.items.each do |item| + items << [rss.channel, item] if item.dc_date + end end end processing_time = Time.now - before_time |