Publicado por Rafael Rosa em 30 de December de 2009

9 novas bibliotecas Ruby que você precisa conhecer

love-your-library.pngEu 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.

Deixe um Comentário