Arquivo para junho 3rd, 2010
Gems
Meu dois últimos projetos em ruby foram dois wrappers para APIs. Uma para a API de previsão do Yahoo Weather, devido a uma necessidade que surgiu ao criar intranet para um cliente. Já existia uma gem em Ruby com essa finalidade, mas ao baixar o código para adicionar uma funcionalidade que eu precisava, vi que seria mais fácil fazer tudo do zero.
Além de encapsular o acesso a API do yahoo, a yahoo_weatherman provê uma maneira simples de adicionar suas próprias traducões para as respostas da API. Como a API do Yahoo Weather é baseada em XML, usei a gem nokogiri para fazer todo o trabalho de parsing. Nada complicado.
A outra gem é minha aposta no torneio que o pessoal do Stack Exchange anunciou junto com a primeira versão publica da sua API beta. Tem um prêmio para quem fizer o melhor wrapper. Eu dúvido que vá ganhar, mas já anunciei minha gem no fórum. No momento ela já cobre a maior parte da API e pode ser considerada “usável”.
A API do Stack Exchange é baseada em json e não precisei de nada além do que o ruby já oferece na sua standard library. No início achei que precisaria da hashie ou da mash para transformar os hashs do ruby em algo mais parecido com objetos javascript, mas descobri que a OpenStruct da standard lib já faz isso de uma forma muito simples e acabei usando ela.
