However, I can share that it used Hpricot, and had a number of XPath rules for each discrete element of both the general feed and "items" that needed to be extracted (title, link, description, time, etc). Each rule was in an array, so rules for Atom and RSS could be mixed.. the first to match dictated the format. This is a pretty quick and dirty (but ever so effective) way of doing it - parsing feeds as XML in the "technically correct" way is an absolute nightmare given the poor validity of XML out there ;-)
All that said, one thing worth looking at is: http://rfeedparser.rubyforge.org/ - it's based on the Python Universal Feed Parser which is generally considered to be the most awesome of feed parsers out there :)
Gem::Exception (can't activate hpricot (= 0.6), already activated hpricot-0.6.164])
BTW, today is an awesome day to write a new feed parser. Here's why:
http://www.rubyinside.com/nokogiri-ruby-html-parser-and-xml-...
But I'll probably just build something custom w/ Ruby. I was hoping someone else had already done the work and open sourced it ;)