require 'rss' require 'open-uri' require 'yaml' class Item attr_reader :title, :author, :date, :summary, :url def initialize(item) @title = item.title.content @author = item.author.name.content @date = item.updated.content @summary = item.summary.content.strip @url = item.link.href end end class Feed attr_reader :title, :url, :items def initialize(title, args) @title, @url = title, args['url'] @items = [] slurp end private def slurp open(url) do |rss| feed = RSS::Parser.parse(rss) feed.entries.each do |item| add Item.new(item) end end end def add(item) @items << item end end feeds = YAML.load(IO.read('feeds.yml')) items = [] feeds.each do |t, f| feed = Feed.new(t, f) feed.items.each do |item| puts %{
} puts %{
} puts %{

#{item.title}

} puts %{
Posted by #{item.author} at #{item.date}
} puts %{
} puts %{
#{item.summary}} puts %{ } puts %{
} puts end end