E aí pessoal, hoje vou falar sobre algo que posso me orgulhar um pouco: escrevi uma ruby gem razoavelmente decente, rsrs.
Pois é, depois de algumas brincadeiras, resolvi desenvolver esta gem e depois refatorá-la para que ficasse um pouco melhor. Vou tentar descrever o que ela é e qual seu objetivo:
– Esta gem retorna objetos de cinemas, salas, filmes e horários, conforme a programação do grande portal do Uol, o Omelete
– A gem funciona como um webcrawler, onde retorna o conteúdo através do id de cinemas e filmes do próprio omelete.
Um exemplo de uso, supondo que eu queira obter informações do Cinemark Park Shopping São Caetano:
Dado que seu id no site Omelete é 650(http://omelete.uol.com.br/filmes-em-cartaz/cinema/650), devemos invocar a seguinte chamada:
agent = Omelete::MovieTheaterAgent.new 650
agent.movie_theater
Este método movie_theater lhe retorna um objeto contendo os valores, o nome e o id omelete do cinema.
Agora, vamos supor que você queira obter os filmes que estão passando no momento no Cinemark do Park Shopping São Caetano:
agent = Omelete::MovieAgent.new 650
agent.movies
Este método movies retorna um array com objetos contendo informações básicas sobre os filmes, como nome, gênero, censura, tempo de duração, url do poster do omelete e também o id omelete de cada filme. Caso você queira obter informações mais detalhadas, como sinopse, elenco e diretor, deve invocar o seguinte:
agent = Omelete::MovieDetailsAgent.new 2
agent.movie
Supondo que o id do filme do qual você deseja obter informações detalhadas, seja 2.
Não vou me extender muito por aqui, caso você queira ver mais informações como a maneira de obter salas e horários, ou caso queira contribuir com este projeto, peço para que visite o repositório da gem:
https://github.com/mvoto/omelete
Espero que gostem e contribuam.