=begin Ruby y la gema Twitter_Search En este ocacion voy a tomar una via diferente para enseñar el lenaguaje de programacion mas divertido del mundo. Ruby. Vamos a construir un pequeño scrip que va a ir a twitter, busca los tweets que contengan cierta palabra y los grabamos en un archivo. Voy a ir explicando ciertos conceptos sobre la marcha. Como por ejemplo como escribir un comentario realmente largo. :-) =end # Esto es un comentario de una sola lina pero si queremos mas lineas hay que repetir el # o usar algo como lo de arriba. # Abajo incluimos la gema de twitter y rubygems. # Si no tienes la gema de twitter_search: sudo gem install dancroak-twitter-search -s http://gems.github.com require 'rubygems' require 'twitter_search' =begin Lo que hacemos en la siguiente linea de codigo viene directamente desde la documentacion de la gema de twitter_search. Basicamente creamos un nuevo TwitterSearch::Client (mas sobre esto es un futuro) llamado 'Un Navegador robot' y se lo asignamos a @navegador. En esta linea de codigo vemos el dinamismo de ruby ya que no tubimos que definir el tipo de variable de @buscador. Lo hacemos "On the fly" Mira @navegador como tu navegador web. Es el agente que usamos para conectarnos al API de twitter. =end @navegador = TwitterSearch::Client.new 'Un Navegador Robot' =begin Ya que tenemos un 'navegador' o vehiculo para ir a twitter, vamos a buscar los tweets que contenga "Maestros del Web". Para esto tenemos que crear una nueva variable que llamaremos @tweets y encadenamos el metodo query a nuestro navegador. Tenemos que pasarle lo que bamos a buscar al metodo .query. =end @tweets = @navegador.query 'twitter search' =begin Tenemos todos los tweets dentro del objecto @tweets. Nos toca iterar sobre este objeto para ver cada tweet. Esto lo vamos a lograr con un metodo llamado .each. Each es traducido como "cada uno" y tenemos que decirle como llamaremos a cada objento dentro de @tweets. En este caso, tweet. La traduccion de este iterador seria algo como: A cada uno de los objectos dentro de @tweets, llamalo tweet. Haciendo esto, tenemos acceso a un solo objeto "tweet" y no a una coleccion de objectos @tweets. Esto nos permite hacer cosas como tweet.from_user o tweet.text. =end @tweets.each do |tweet| # Para mostrar algo en la consola usamos puts y podemos hacer operaciones matematicas en strings. # en la siguiente linea multiplicamos el string "*" 100 veces. puts "*" * 100 puts "Username: " + tweet.from_user puts "Tweet: " + tweet.text puts "*" * 100 end =begin En menos de 10 lineas de codigo hemos creado un pequeño scrip que usa una gema de ruby y va al API de twitter a buscar todos los tweets que contengan la fraze maestros del web. Todo el "heavy lifting" de usar el API de twitter lo hace la gema, pero para eso estan. I LOVE MY GEMS! A la misma vez, hemos aprendido sobre como crear comentarios de una y multiples lineas. Lo mas importante de este pequeño script es el uso del iterador .each ya que nos da acceso a la coleccion de objetos dentro de @tweets y este patron se repite muchisimo en el lenguaje. Para los mas curiosos, les recomiendo que modifiquen un poco el iterador e inspeccionen un poco el objeto tweet. Esto lo logramos con el metodo .inspec. @tweets.each do |tweet| puts tweet.inspect end =end