Publicado por Luís Gustavo em 04 de February de 2009

Feedzirra – Uma nova biblioteca de Feed para Ruby construida para ser rápida.

feedzirra.gif Feedzirra ié uma nova biblioteca Ruby de Paul Dix para fazer parser em feed. A escolha de uma biblioteca Ruby para fazer parser em feed tem sido razoavelmente limitado até agora, então a Feedzirra é uma adição bem vinda ao ecossistema Ruby. Ela é focada na velocidade - usa o Nokogiri (um parser ultra rápido de XML que depende da libxml) e curb (extensões para libcurl - para fazer o trabalho HTTP) portanto compilação é necessária. Feedzirra foi desenvolvida para ser usada para pegar milhares de feeds, processar atualizações rapidamente, economizar banda (com GET condicionais, etc) e ser muito simples de usar.

Paul também é interessado na flexibilidade:

Uma segunda consideração do desenvolvimento que eu queria era uma biblioteca para ser extensível e customizável. Isso significa que você pode adicionar parsers customizados para a Feedzirra lidar com diferentes tipos de feeds (como microformas, por exemplo). Isso também significa que se você encontrar um bug ao fazer o parsing em um feed especifico, você pode escrever seu próprio parser (deve usar menos que 20 linhas de código) e usar isso com a Feedzirra enquanto espera por mim ou um contribuidor corrigir o bug. Feedzirra também permite que você defina um callback em um comportamento após o sucesso ou falha ao recuperar um feed.

Paul fez um código-exemplo que mostra vários recursos do Feedzirra - incluindo fetching e parsing básicos, múltiplo feed parsing, feed update fetching, e callbacks. Para executar, apenas instale o Feedzirra:

gem sources -a http://gems.github.com
sudo gem install pauldix-feedzirra

Veja o post com o anúncio do Paul, para mais informações, que contém comentários sobre como tratar determinados problemas durante a instalação (um problema grave que eu tive no OS X Leopard com o Ruby nativo é que o curb não instala corretamente - para resolver isso, git clone git://github.com/taf2/curb.git depois execute rake gem no diretório do curb, em seguida sudo gem install pkg/curb-0.2.4.0.gem - essa não é apenas a única questão com MacPorts que Paul parece indicar).

Deixe um Comentário