Publicado por Rafael Rosa em 30 de December de 2009
9 novas bibliotecas Ruby que você precisa conhecer
Clique aqui para adicionar ao del.icio.us | Nenhum comentário - Deixe o seu agora!
Eu adoro conhecer novas bibliotecas Ruby, e recentemente olhei várias. As mais proeminentes acabam virando artigos no Ruby Inside, mas frequentemente vejo bibliotecas menos significativas sobre as quais sofro para escrever 100 palavras a respeito, mas eles também contribuem para o ecosistema do Ruby. Esse artigo é uma seleção das minhas recentes descobertas.
RConfig - Um poderoso sistema de gerenciamento de configuração em Ruby
O RConfig, criado por Rahmal Conda, se classifica como uma "solução completa de gerenciamento de configuração em Ruby" e ele certamente tem uma lista de funcionalidades impressionante. Ele suporta YAML, XML, e arquivos de propriedades (que se parecem com arquivos INI) e oferece acesso fácil a configurações globais da aplicação tanto através de conjuntos quanto usando métodos. Ele também suporta o que ele chama de "overlays", onde diferentes configurações podem ser usadas em uma única aplicação (por exemplo, em ambientes diferentes). O RConfig pode ser instalado como uma gem e está hospedada no Gemcutter.
Ruby-GMail - Uma interface Ruby para o GMail
Ruby-GMail é uma incrível biblioteca criada por Daniel Parker que oferece acesso a uma quantidade significativa de funcionalidades do GMail (Google Mail) de dentro da sua aplicação.Você pode ler/baixar e-mails através de IMAP, gerenciar anexos, manusear labels, marcar itens como spam/lidos/não lidos, e enviar e-mails (incluindo mensagens MIME com imagens e anexos).
Excelsior - Leitura super rápida de arquivos CSV
O Excelsior (GitHub) é uma gem Ruby criada por Matthew Mongeau que usa código escrito em C para interpretar arquivos CSV (dados delimitados por vírgulas) muito rapidamente. Ele fez o benchmarked do Excelsior contra o interpretador de CVS incluído no Ruby 1.9 (baseado no FasterCSV da versão 1.8) e o resultado foi que ele processou um arquivo com 1 milhão de linhas num arquivo CSV em 4,44 segundos com o Excelsior, enquanto a biblioteca padrão levou 54 segundos. Além de ser uma biblioteca útil, o código-fonte é útil para se aprender como escrever uma extensão nativa.
Linkedin - Uma interface em Ruby para a API do LinkedIn
Se você ainda não conhece, o LinkedIn é como o Facebook para contatos de negócio e trabalho. Você tem perfis, pode mandar mensagens e criar conexões com outras pessoas (aproveitando, se você quiser pode adicionar Peter Cooper ao seu LinkedIn, o perfil dele pode ser encontrado aqui). Wynn Netherland escreveu uma biblioteca enxuta em Ruby para acessar a API do LinkedIn, e ele escreveu um artigo demonstrando algumas formas de utilizá-la.
Ohm - Hash maps de objetos para Redis
O Redis é um entre o crescente número de bancos de dados chave-valor que tem aparecido, e o Ohm é uma biblioteca para armazenar objetos nele. Ele foi criado por Citrusbyte - a equipe responsável pelo framework web em Ruby Monk.
Alchemist - Conversão de unidades
A Alchemist é outra biblioteca criada por Matthew Mongeau. Ela torna fácil a conversão entre diferentes unidades - como milhas para metros ou celsius para kelvin, usando código como 8.meters.to.miles ou em operações como 10.kilometers + 1.mile. Ela já foi mencionada anteriormente no Ruby Inside, mas também se encaixa bem aqui.
Nanotest - Testes super simples
O Nanotest talvez seja a biblioteca de testes mais simples disponível aos rubistas hoje. Ela se classifica como "mínima ao extremo", oferecendo o mínimo possível para testar código de maneira construtiva. Recentemente, quando foi mencionada no RubyFlow, recebeu uma quantidade razoável de críticas.
Savon - Uma biblioteca SOAP "heavy metal"
Você é azarado a ponto de precisar usar SOAP (Simple Object Access Protocol)? O Savon apresenta uma nova e intrigante alternativa ao Soap4R (que aparentemente é pouco elogiado). Se o serviço SOAP que você está acessando utiliza SOAP 1.1, tem um arquivo WSDL, e não precisa de autenticação WSSE, você pode chamar métodos com apenas duas linhas de código. Porém, você pode fazer muito mais com alguns ajustes, incluindo usar SOAP 1.2 e autenticação WSSE.
Versionomy - Um biblioteca para "números de versão"
Versionomy, criada por Daniel Azuma, é uma biblioteca que oferece ferramentas para representar, manipular, ler e comparar números de versão numa grande variedade de sistemas de versionamento. Nesse sentido, ele é para tratamento de versões o que o Chronic é para datas.


