Sempre procuro tornar o processo de aprendizagem o mais prático possível. O estudo se torna muito mais prazeroso e desafiador se utilizarmos um objetivo prático a ser alcançado ao final dos estudos.
Há algum tempo venho querendo experimentar o Sinatra, pequeno framework web escrito em ruby, mas estava esperando por um motivo pra isso. Quando eu estava acabando a criação deste blog, me surgiu a idéia de ter uma página inicial, semelhante à página de perfil de sites de relacionamento.
Unindo ao útil ao agradável, resolvi implementar essa parte do meu site usando Sinatra. Mas primeiros, precisamos juntar as informações necessárias para apresentar na página.
APIs Diversas: Flickr, Twitter, Last.Fm em Ruby
Como já foi dito antes, eu amo APIs e a possibilidade infinita que elas proporcionam. Nada melhor do que uma coleção de informações pessoais deixadas em sites que eu utilizo para rechear minha página de apresentação. A maioria das APIs disponíveis publicamente já possuem sua implementação em Ruby, tornando o uso das mesmas extremamente simples através das rubygems.
As APIs e suas respectivas gems utilizadas estão listadas abaixo:
Flickr – flickr-fu
Twitter – Ruby Twitter
Gravatar – Sem gem, mas de uso simples com Ruby.
Last.fm – Scrobbler

Com as Gems devidamente instaladas, precisamos configurar a parte que liga toda nossa página, através das routes e configurações adicionais do Sinatra.
Sinatra
Sinatra é um framework para pequenas aplicações web, pequeno e elegante, que nos permite criar pequenas páginas rapidamente com o uso de uma DSL própria, como nesse pequeno exemplo contido na página inicial:
require 'rubygems'
require 'sinatra'
get '/hi' do
"Hello World!"
end
Certo, mas agora vamos a um exemplo mais prático. Com o seguinte código, é possível coletar os dados necessários para a nossa página:
Read more…