[Ruby] RFeedFinder and RFeedReader

In the refactoring process of Feevy.com (mostly to remove dirty spaghetti code), I’ve write my first 2 ruby gems, with some time to learn and practice with new toys for ruby.

Rubyforge

http://www.rubyforge.org

That’s the place that hosted most of rubygems and is the most useful to deploy your own, it comes with all you need to start and deploy a project: svn, webspace, bug tracker, forum…
But it would be a pain to deploy everything by hand, a gem is available to do it quicker.

New Gem

http://newgem.rubyforge.org/

It’s a simple gem that would generate for you an environment where to build your gem, with a few rake tasks to easily deploy it locally and on rubyforge.

Configuration is simple, just replace ‘FIXME‘ in code with what is needed and start coding your new gem.

To deploy on Rubyforge, don’t forget to setup your access on your local machine.

RFeedFinder

http://rfeedfinder.rubyforge.org/

Main purpose of RFeedFinder is to locate the feed url inside a webpage. It can be really tricky, sometimes using recursion or lucky guesses, but it should work 95% of the time.

RFeedReader

http://rfeedreader.rubyforge.org/

Once we’ve got a feed to parse on Feevy, we want to read its first item. That the purpose of this gem.

Another purpose is to use this gem to update Feevy posts from external clients. Feevy server was doing all the job when a feed was updated, now updater clients can parse the feeds too, and return the complete info to Feevy server, so we’ve another performance boost on the central server.

About alx

3 Responses to “[Ruby] RFeedFinder and RFeedReader”

  1. Alexandre Girard

    Hi francisoud,

    Thanks for your comments. Hoe is included in newgem, helping it indeed to release project under rubyforge.

    From what I could read, newgem is just building a template a bit more complete than Hoe to produce website and documentation. It’ll be good to know more precisely the differences between these 2 gems.

    Reply

Leave a Reply

  • (will not be published)