Descobertas

Diretamente do cotidiano de um programador

Gems

com 2 comentários

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.

Escrito por Dalto

junho 3, 2010 às 6:02 pm

Publicado em ruby, software livre

2 Respostas

Assinar os comentários com RSS.

  1. Oi amigo, você poderia me fornecer as possíveis traduções do yahoo weather? Estou fazendo o mesmo sistema, só que em java e preciso traduzir as condições climáticas para o portguês, porém não sei quais são os possíveis.

    Hárley

    janeiro 6, 2011 em 12:52 am

  2. Oi, Harley. A gem ja tem traducoes para o portugues :-). No readme tem um exemplo de como usar as traducoes.

    Dalto

    janeiro 6, 2011 em 10:49 am


Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.