Class: TwitterUtil
- Inherits:
-
Object
- Object
- TwitterUtil
- Defined in:
- lib/twitter_util.rb
Overview
Synopsis
Clase que provee metodos (estaticos) de consulta basicos a twitter.
Usage
require 'twitter_util'
trends = TwitterUtil.get_trends()
status = TwitterUtil.get_status('wryanez')
result = TwitterUtil.search_tweets('from:wryanez ruby')
timeline = TwitterUtil.get_user_timeline('wryanez')
followers = TwitterUtil.get_followers('wryanez')
followings = TwitterUtil.get_following('wryanez')
users=TwitterUtil.get_users_lookup(arr_ids)
Author
William Yanez (wyanez@gmail.com)
Constant Summary collapse
- URL_TWITTER_API =
"http://api.twitter.com/1"
- URL_TWITTER_SEARCH =
"http://search.twitter.com/search.json"
Class Method Summary collapse
-
.get_followers(usuario, cursor = -1)) ⇒ Object
Retorna un arreglo con los ids de seguidores del usuario indicado.
-
.get_following(usuario, cursor = -1)) ⇒ Object
Retorna un arreglo con los ids de los usuarios que sigue el usuario indicado.
-
.get_status(usuario) ⇒ Object
Retorna un hash con el status actual (ultimo tweet, followers, etc…) del usuario indicado.
-
.get_trends(momento = 'daily') ⇒ Object
retorna un hash de hashes de los trends dependiendo del parametro momento: * ‘current’: trends del momento actual (debe estar autenticado el usuario) * ‘daily’: trends de cada hora del dia * ‘weekly’: trends de cada dia de la semana.
-
.get_user_timeline(usuario) ⇒ Object
Retorna un arreglo con los tweets mas recientes del timeline del usuario indicado.
-
.get_users_lookup(arr_ids) ⇒ Object
Retorna un arreglo con los información de los usuarios indicados en el arreglo de ids dado.
-
.search_tweets(query, page = 1) ⇒ Object
retorna un arreglo con los tweets que cumplen con el criterio de busqueda dado en query.
Class Method Details
.get_followers(usuario, cursor = -1)) ⇒ Object
Retorna un arreglo con los ids de seguidores del usuario indicado
88 89 90 91 92 93 94 |
# File 'lib/twitter_util.rb', line 88 def self.get_followers(usuario,cursor=-1) url="#{URL_TWITTER_API}/followers/ids.json" url =url+"?screen_name="+URI.escape(usuario) url=url+"&cursor=#{cursor}" if cursor>1 result =get_twitter_data(url) return result end |
.get_following(usuario, cursor = -1)) ⇒ Object
Retorna un arreglo con los ids de los usuarios que sigue el usuario indicado
99 100 101 102 103 104 105 |
# File 'lib/twitter_util.rb', line 99 def self.get_following(usuario,cursor=-1) url="#{URL_TWITTER_API}/friends/ids.json" url =url+"?screen_name="+URI.escape(usuario) url=url+"&cursor=#{cursor}" if cursor>1 result =get_twitter_data(url) return result end |
.get_status(usuario) ⇒ Object
Retorna un hash con el status actual (ultimo tweet, followers, etc…) del usuario indicado.
-
Algunos campos son: screen_name,description,location,created_at,url,followers_count,statuses_count (Nro de tweets)
-
El ultimo tweet se puede acceder con el campo status y es un hash con los campos: text,created_at,source
48 49 50 51 52 |
# File 'lib/twitter_util.rb', line 48 def self.get_status(usuario) url="#{URL_TWITTER_API}/users/show/#{usuario}.json" result =get_twitter_data(url) return result end |
.get_trends(momento = 'daily') ⇒ Object
retorna un hash de hashes de los trends dependiendo del parametro momento:
-
‘current’: trends del momento actual (debe estar autenticado el usuario)
-
‘daily’: trends de cada hora del dia
-
‘weekly’: trends de cada dia de la semana
34 35 36 37 38 39 40 |
# File 'lib/twitter_util.rb', line 34 def self.get_trends(momento='daily') trends=nil url = "#{URL_TWITTER_API}/trends/#{momento}.json" result =get_twitter_data(url) trends = result['trends'] unless result.nil? return trends end |
.get_user_timeline(usuario) ⇒ Object
Retorna un arreglo con los tweets mas recientes del timeline del usuario indicado
78 79 80 81 82 83 |
# File 'lib/twitter_util.rb', line 78 def self.get_user_timeline(usuario) url="#{URL_TWITTER_API}/statuses/user_timeline.json" url =url+"?screen_name="+URI.escape(usuario) result =get_twitter_data(url) return result end |
.get_users_lookup(arr_ids) ⇒ Object
Retorna un arreglo con los información de los usuarios indicados en el arreglo de ids dado
110 111 112 113 114 115 |
# File 'lib/twitter_util.rb', line 110 def self.get_users_lookup(arr_ids) str_ids=arr_ids.join(',') url="#{URL_TWITTER_API}/users/lookup.json?user_id="+str_ids result =get_twitter_data(url) return result end |
.search_tweets(query, page = 1) ⇒ Object
retorna un arreglo con los tweets que cumplen con el criterio de busqueda dado en query. El query es un string con cada uno de los parametros de busquedas separados por un espacio en blanco. Ej: query=“from:wryanez ruby”
Cada tweet es un hash. Algunos campos utiles son:
-
text : contenido del tweet
-
from_user : Usuario que envia el tweet
-
created_at: fecha del tweet
64 65 66 67 68 69 70 71 72 73 |
# File 'lib/twitter_util.rb', line 64 def self.search_tweets(query,page=1) return Array.new if query.empty? query="q="+query url=URL_TWITTER_SEARCH+"?"+URI.escape(query) url=url+"&page=#{page}" if page>1 result =get_twitter_data(url) return result["results"] end |