twitter 4.8.1 → 5.0.0.rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. data.tar.gz.sig +0 -0
  2. data/CHANGELOG.md +30 -0
  3. data/LICENSE.md +1 -1
  4. data/README.md +386 -266
  5. data/lib/twitter.rb +4 -39
  6. data/lib/twitter/arguments.rb +11 -0
  7. data/lib/twitter/base.rb +89 -68
  8. data/lib/twitter/client.rb +69 -110
  9. data/lib/twitter/configuration.rb +7 -3
  10. data/lib/twitter/creatable.rb +2 -4
  11. data/lib/twitter/cursor.rb +50 -42
  12. data/lib/twitter/direct_message.rb +2 -11
  13. data/lib/twitter/entity/uri.rb +13 -0
  14. data/lib/twitter/enumerable.rb +15 -0
  15. data/lib/twitter/error.rb +55 -7
  16. data/lib/twitter/error/already_favorited.rb +1 -1
  17. data/lib/twitter/error/already_posted.rb +10 -0
  18. data/lib/twitter/error/already_retweeted.rb +1 -1
  19. data/lib/twitter/error/bad_gateway.rb +2 -3
  20. data/lib/twitter/error/bad_request.rb +2 -2
  21. data/lib/twitter/error/forbidden.rb +2 -2
  22. data/lib/twitter/error/gateway_timeout.rb +2 -3
  23. data/lib/twitter/error/internal_server_error.rb +2 -3
  24. data/lib/twitter/error/not_acceptable.rb +2 -2
  25. data/lib/twitter/error/not_found.rb +2 -2
  26. data/lib/twitter/error/service_unavailable.rb +2 -3
  27. data/lib/twitter/error/too_many_requests.rb +2 -2
  28. data/lib/twitter/error/unauthorized.rb +2 -2
  29. data/lib/twitter/error/unprocessable_entity.rb +2 -2
  30. data/lib/twitter/factory.rb +2 -8
  31. data/lib/twitter/geo_factory.rb +2 -2
  32. data/lib/twitter/geo_results.rb +36 -0
  33. data/lib/twitter/identity.rb +0 -22
  34. data/lib/twitter/list.rb +18 -4
  35. data/lib/twitter/media/photo.rb +3 -3
  36. data/lib/twitter/media_factory.rb +2 -2
  37. data/lib/twitter/null_object.rb +24 -0
  38. data/lib/twitter/oembed.rb +3 -2
  39. data/lib/twitter/place.rb +15 -9
  40. data/lib/twitter/profile_banner.rb +5 -3
  41. data/lib/twitter/rate_limit.rb +1 -17
  42. data/lib/twitter/relationship.rb +2 -10
  43. data/lib/twitter/rest/api/direct_messages.rb +135 -0
  44. data/lib/twitter/rest/api/favorites.rb +120 -0
  45. data/lib/twitter/rest/api/friends_and_followers.rb +290 -0
  46. data/lib/twitter/rest/api/help.rb +58 -0
  47. data/lib/twitter/rest/api/lists.rb +491 -0
  48. data/lib/twitter/rest/api/oauth.rb +45 -0
  49. data/lib/twitter/rest/api/places_and_geo.rb +104 -0
  50. data/lib/twitter/rest/api/saved_searches.rb +91 -0
  51. data/lib/twitter/rest/api/search.rb +37 -0
  52. data/lib/twitter/rest/api/spam_reporting.rb +29 -0
  53. data/lib/twitter/rest/api/suggested_users.rb +51 -0
  54. data/lib/twitter/rest/api/timelines.rb +202 -0
  55. data/lib/twitter/rest/api/trends.rb +58 -0
  56. data/lib/twitter/rest/api/tweets.rb +293 -0
  57. data/lib/twitter/rest/api/undocumented.rb +52 -0
  58. data/lib/twitter/rest/api/users.rb +383 -0
  59. data/lib/twitter/rest/api/utils.rb +219 -0
  60. data/lib/twitter/rest/client.rb +193 -0
  61. data/lib/twitter/rest/request/multipart_with_file.rb +36 -0
  62. data/lib/twitter/rest/response/parse_json.rb +27 -0
  63. data/lib/twitter/{response → rest/response}/raise_error.rb +8 -11
  64. data/lib/twitter/search_results.rb +33 -21
  65. data/lib/twitter/settings.rb +1 -6
  66. data/lib/twitter/size.rb +1 -1
  67. data/lib/twitter/streaming/client.rb +77 -0
  68. data/lib/twitter/streaming/connection.rb +22 -0
  69. data/lib/twitter/streaming/response.rb +30 -0
  70. data/lib/twitter/suggestion.rb +4 -2
  71. data/lib/twitter/token.rb +8 -0
  72. data/lib/twitter/trend.rb +2 -1
  73. data/lib/twitter/trend_results.rb +59 -0
  74. data/lib/twitter/tweet.rb +41 -85
  75. data/lib/twitter/user.rb +51 -41
  76. data/lib/twitter/version.rb +4 -4
  77. data/spec/fixtures/already_posted.json +1 -0
  78. data/spec/fixtures/ids_list.json +1 -1
  79. data/spec/fixtures/ids_list2.json +1 -1
  80. data/spec/fixtures/search.json +1 -1
  81. data/spec/fixtures/search_malformed.json +1 -1
  82. data/spec/fixtures/track_streaming.json +3 -0
  83. data/spec/helper.rb +8 -13
  84. data/spec/twitter/base_spec.rb +25 -99
  85. data/spec/twitter/configuration_spec.rb +1 -1
  86. data/spec/twitter/cursor_spec.rb +13 -31
  87. data/spec/twitter/direct_message_spec.rb +41 -8
  88. data/spec/twitter/entity/uri_spec.rb +74 -0
  89. data/spec/twitter/error_spec.rb +59 -11
  90. data/spec/twitter/geo/point_spec.rb +1 -1
  91. data/spec/twitter/geo_factory_spec.rb +3 -3
  92. data/spec/twitter/geo_results_spec.rb +35 -0
  93. data/spec/twitter/identifiable_spec.rb +0 -21
  94. data/spec/twitter/list_spec.rb +51 -8
  95. data/spec/twitter/media/photo_spec.rb +118 -3
  96. data/spec/twitter/media_factory_spec.rb +2 -2
  97. data/spec/twitter/null_object_spec.rb +26 -0
  98. data/spec/twitter/oembed_spec.rb +69 -45
  99. data/spec/twitter/place_spec.rb +68 -12
  100. data/spec/twitter/profile_banner_spec.rb +1 -1
  101. data/spec/twitter/rate_limit_spec.rb +12 -12
  102. data/spec/twitter/relationship_spec.rb +31 -9
  103. data/spec/twitter/{api → rest/api}/direct_messages_spec.rb +22 -9
  104. data/spec/twitter/{api → rest/api}/favorites_spec.rb +80 -7
  105. data/spec/twitter/{api → rest/api}/friends_and_followers_spec.rb +104 -65
  106. data/spec/twitter/{api → rest/api}/geo_spec.rb +10 -10
  107. data/spec/twitter/{api → rest/api}/help_spec.rb +6 -6
  108. data/spec/twitter/{api → rest/api}/lists_spec.rb +77 -56
  109. data/spec/twitter/{api → rest/api}/oauth_spec.rb +6 -6
  110. data/spec/twitter/{api → rest/api}/saved_searches_spec.rb +7 -7
  111. data/spec/twitter/{api → rest/api}/search_spec.rb +8 -9
  112. data/spec/twitter/{api → rest/api}/spam_reporting_spec.rb +3 -3
  113. data/spec/twitter/{api → rest/api}/suggested_users_spec.rb +5 -5
  114. data/spec/twitter/{api → rest/api}/timelines_spec.rb +9 -9
  115. data/spec/twitter/{api → rest/api}/trends_spec.rb +6 -6
  116. data/spec/twitter/rest/api/tweets_spec.rb +503 -0
  117. data/spec/twitter/{api → rest/api}/undocumented_spec.rb +19 -45
  118. data/spec/twitter/{api → rest/api}/users_spec.rb +60 -35
  119. data/spec/twitter/rest/client_spec.rb +193 -0
  120. data/spec/twitter/saved_search_spec.rb +11 -0
  121. data/spec/twitter/search_results_spec.rb +29 -42
  122. data/spec/twitter/settings_spec.rb +17 -6
  123. data/spec/twitter/streaming/client_spec.rb +75 -0
  124. data/spec/twitter/token_spec.rb +16 -0
  125. data/spec/twitter/trend_results_spec.rb +89 -0
  126. data/spec/twitter/trend_spec.rb +23 -0
  127. data/spec/twitter/tweet_spec.rb +122 -115
  128. data/spec/twitter/user_spec.rb +136 -77
  129. data/spec/twitter_spec.rb +0 -119
  130. data/twitter.gemspec +8 -5
  131. metadata +148 -141
  132. metadata.gz.sig +0 -0
  133. data/lib/twitter/action/favorite.rb +0 -19
  134. data/lib/twitter/action/follow.rb +0 -30
  135. data/lib/twitter/action/list_member_added.rb +0 -39
  136. data/lib/twitter/action/mention.rb +0 -46
  137. data/lib/twitter/action/reply.rb +0 -27
  138. data/lib/twitter/action/retweet.rb +0 -27
  139. data/lib/twitter/action/tweet.rb +0 -20
  140. data/lib/twitter/action_factory.rb +0 -22
  141. data/lib/twitter/api/arguments.rb +0 -13
  142. data/lib/twitter/api/direct_messages.rb +0 -148
  143. data/lib/twitter/api/favorites.rb +0 -126
  144. data/lib/twitter/api/friends_and_followers.rb +0 -334
  145. data/lib/twitter/api/help.rb +0 -64
  146. data/lib/twitter/api/lists.rb +0 -618
  147. data/lib/twitter/api/oauth.rb +0 -44
  148. data/lib/twitter/api/places_and_geo.rb +0 -121
  149. data/lib/twitter/api/saved_searches.rb +0 -99
  150. data/lib/twitter/api/search.rb +0 -37
  151. data/lib/twitter/api/spam_reporting.rb +0 -30
  152. data/lib/twitter/api/suggested_users.rb +0 -55
  153. data/lib/twitter/api/timelines.rb +0 -214
  154. data/lib/twitter/api/trends.rb +0 -63
  155. data/lib/twitter/api/tweets.rb +0 -304
  156. data/lib/twitter/api/undocumented.rb +0 -97
  157. data/lib/twitter/api/users.rb +0 -439
  158. data/lib/twitter/api/utils.rb +0 -187
  159. data/lib/twitter/configurable.rb +0 -96
  160. data/lib/twitter/default.rb +0 -102
  161. data/lib/twitter/entity/url.rb +0 -9
  162. data/lib/twitter/error/client_error.rb +0 -35
  163. data/lib/twitter/error/decode_error.rb +0 -9
  164. data/lib/twitter/error/identity_map_key_error.rb +0 -9
  165. data/lib/twitter/error/server_error.rb +0 -28
  166. data/lib/twitter/exceptable.rb +0 -36
  167. data/lib/twitter/identity_map.rb +0 -22
  168. data/lib/twitter/request/multipart_with_file.rb +0 -34
  169. data/lib/twitter/response/parse_json.rb +0 -25
  170. data/spec/fixtures/about_me.json +0 -1
  171. data/spec/fixtures/activity_summary.json +0 -1
  172. data/spec/fixtures/bad_gateway.json +0 -1
  173. data/spec/fixtures/bad_request.json +0 -1
  174. data/spec/fixtures/by_friends.json +0 -1
  175. data/spec/fixtures/end_session.json +0 -1
  176. data/spec/fixtures/forbidden.json +0 -1
  177. data/spec/fixtures/internal_server_error.json +0 -1
  178. data/spec/fixtures/not_acceptable.json +0 -1
  179. data/spec/fixtures/phoenix_search.phoenix +0 -1
  180. data/spec/fixtures/resolve.json +0 -1
  181. data/spec/fixtures/service_unavailable.json +0 -1
  182. data/spec/fixtures/totals.json +0 -1
  183. data/spec/fixtures/trends.json +0 -1
  184. data/spec/fixtures/unauthorized.json +0 -1
  185. data/spec/fixtures/video_facets.json +0 -1
  186. data/spec/twitter/action/favorite_spec.rb +0 -29
  187. data/spec/twitter/action/follow_spec.rb +0 -29
  188. data/spec/twitter/action/list_member_added_spec.rb +0 -41
  189. data/spec/twitter/action/mention_spec.rb +0 -52
  190. data/spec/twitter/action/reply_spec.rb +0 -41
  191. data/spec/twitter/action/retweet_spec.rb +0 -41
  192. data/spec/twitter/action_factory_spec.rb +0 -35
  193. data/spec/twitter/action_spec.rb +0 -16
  194. data/spec/twitter/api/tweets_spec.rb +0 -285
  195. data/spec/twitter/client_spec.rb +0 -223
  196. data/spec/twitter/error/client_error_spec.rb +0 -23
  197. data/spec/twitter/error/server_error_spec.rb +0 -20
@@ -1 +0,0 @@
1
- {"statuses":[{"id_str":"110059784971096066","in_reply_to_status_id":null,"truncated":false,"user":{"profile_sidebar_fill_color":"DDEEF6","protected":false,"id_str":"66561957","notifications":false,"profile_background_tile":false,"screen_name":"therealzooeyd","name":"zooey deschanel","listed_count":9165,"location":"somewhere pretty awesome...","show_all_inline_media":false,"contributors_enabled":false,"following":true,"geo_enabled":false,"utc_offset":-28800,"profile_link_color":"0084B4","description":"where do I begin?","profile_sidebar_border_color":"C0DEED","url":"http:\/\/www.sheandhim.com","time_zone":"Pacific Time (US & Canada)","default_profile_image":false,"statuses_count":1864,"profile_use_background_image":true,"verified":true,"favourites_count":2,"friends_count":355,"profile_background_color":"C0DEED","is_translator":false,"profile_background_image_url":"http:\/\/a3.twimg.com\/profile_background_images\/178865861\/Zooey_12.jpg","created_at":"Tue Aug 18 01:55:35 +0000 2009","followers_count":561263,"default_profile":false,"follow_request_sent":false,"lang":"en","profile_background_image_url_https":"https:\/\/si0.twimg.com\/profile_background_images\/178865861\/Zooey_12.jpg","id":66561957,"profile_text_color":"333333","profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1284004687\/zuzu_and_caleb_at_the_camera_normal.jpg","profile_image_url":"http:\/\/a1.twimg.com\/profile_images\/1284004687\/zuzu_and_caleb_at_the_camera_normal.jpg"},"favorited":false,"in_reply_to_status_id_str":null,"geo":null,"in_reply_to_screen_name":null,"in_reply_to_user_id_str":null,"coordinates":null,"in_reply_to_user_id":null,"source":"web","created_at":"Sat Sep 03 18:41:12 +0000 2011","entities":{"user_mentions":[],"urls":[],"hashtags":[]},"contributors":null,"retweeted":false,"retweet_count":"100+","id":110059784971096066,"place":null,"text":"looking at twitter trends just makes me realize how little i really understand about mankind.","result_category":"popular"},{"id_str":"110102452983963648","in_reply_to_status_id":null,"truncated":false,"user":{"profile_sidebar_fill_color":"DDEEF6","protected":false,"id_str":"91720294","notifications":false,"profile_background_tile":true,"screen_name":"I_am_Chicago1","name":"Cortney Bell ","listed_count":10,"location":"#Pvnation ","show_all_inline_media":false,"contributors_enabled":false,"following":true,"geo_enabled":true,"utc_offset":-21600,"profile_link_color":"0084B4","description":"follow me ... and @ me for more info about me ... i love talking ","default_profile":false,"profile_sidebar_border_color":"C0DEED","url":null,"time_zone":"Central Time (US & Canada)","default_profile_image":false,"statuses_count":15916,"profile_use_background_image":true,"verified":false,"favourites_count":30,"friends_count":1382,"profile_background_color":"C0DEED","is_translator":false,"profile_background_image_url":"http:\/\/a2.twimg.com\/profile_background_images\/313661881\/230924_10150575103000392_886675391_18447865_3396753_n.jpg","created_at":"Sun Nov 22 04:12:38 +0000 2009","followers_count":1455,"follow_request_sent":false,"lang":"en","profile_background_image_url_https":"https:\/\/si0.twimg.com\/profile_background_images\/313661881\/230924_10150575103000392_886675391_18447865_3396753_n.jpg","id":91720294,"profile_text_color":"333333","profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1500420758\/26726_10150132149850392_886675391_11511035_325929_n_normal.jpg","profile_image_url":"http:\/\/a1.twimg.com\/profile_images\/1500420758\/26726_10150132149850392_886675391_11511035_325929_n_normal.jpg"},"favorited":false,"possibly_sensitive":false,"in_reply_to_status_id_str":null,"geo":null,"in_reply_to_screen_name":null,"in_reply_to_user_id_str":null,"coordinates":null,"in_reply_to_user_id":null,"source":"web","created_at":"Sat Sep 03 21:30:45 +0000 2011","entities":{"user_mentions":[],"urls":[],"media":[{"type":"photo","id_str":"110102452988157952","display_url":"pic.twitter.com\/tImqsGy","expanded_url":"http:\/\/twitter.com\/I_am_Chicago1\/status\/110102452983963648\/photo\/1","media_url_https":"https:\/\/p.twimg.com\/AYcpmP9CIAAJpsR.jpg","url":"http:\/\/t.co\/tImqsGy","indices":[15,34],"sizes":{"small":{"h":98,"w":130,"resize":"fit"},"large":{"h":98,"w":130,"resize":"fit"},"thumb":{"h":98,"w":130,"resize":"crop"},"medium":{"h":98,"w":130,"resize":"fit"}},"id":110102452988157952,"media_url":"http:\/\/p.twimg.com\/AYcpmP9CIAAJpsR.jpg"}],"hashtags":[]},"contributors":null,"retweeted":false,"retweet_count":0,"id":110102452983963648,"place":null,"text":"this shit Cray http:\/\/t.co\/tImqsGy","result_category":"recent"},{"id_str":"110102452937834496","in_reply_to_status_id":null,"truncated":false,"user":{"profile_sidebar_fill_color":"F3F3F3","protected":false,"id_str":"29248413","notifications":false,"profile_background_tile":false,"screen_name":"trinbeean","name":"Trina","listed_count":0,"location":"Everywhere I wanna be","show_all_inline_media":false,"contributors_enabled":false,"following":true,"geo_enabled":false,"utc_offset":-18000,"profile_link_color":"990000","description":"Wats UNDERSTOOD dnt gota be EXPLAINED!!","profile_sidebar_border_color":"DFDFDF","url":null,"time_zone":"Eastern Time (US & Canada)","default_profile_image":false,"default_profile":false,"statuses_count":13064,"profile_use_background_image":true,"verified":false,"favourites_count":8,"friends_count":220,"profile_background_color":"EBEBEB","is_translator":false,"profile_background_image_url":"http:\/\/a1.twimg.com\/images\/themes\/theme7\/bg.gif","created_at":"Mon Apr 06 17:34:14 +0000 2009","followers_count":133,"follow_request_sent":false,"lang":"en","profile_background_image_url_https":"https:\/\/si0.twimg.com\/images\/themes\/theme7\/bg.gif","id":29248413,"profile_text_color":"333333","profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1493286924\/trinbeean_normal.jpg","profile_image_url":"http:\/\/a3.twimg.com\/profile_images\/1493286924\/trinbeean_normal.jpg"},"favorited":false,"in_reply_to_status_id_str":null,"geo":null,"in_reply_to_screen_name":null,"in_reply_to_user_id_str":null,"coordinates":null,"in_reply_to_user_id":null,"source":"\u003Ca href=\"http:\/\/levelupstudio.com\" rel=\"nofollow\"\u003EPlume\u00a0\u00a0\u003C\/a\u003E","created_at":"Sat Sep 03 21:30:45 +0000 2011","entities":{"user_mentions":[],"urls":[],"hashtags":[]},"contributors":null,"retweeted":false,"retweet_count":0,"id":110102452937834496,"place":null,"text":"Damn my phone n my twitter ain't jumped all day...nobodys fukkin wit me?! Smh","result_category":"recent"},{"id_str":"110102452656816129","in_reply_to_status_id":null,"truncated":false,"user":{"profile_sidebar_fill_color":"DDEEF6","protected":false,"id_str":"315338037","notifications":null,"profile_background_tile":false,"screen_name":"h1940","name":"Hans Greup","default_profile":true,"listed_count":0,"location":null,"show_all_inline_media":false,"contributors_enabled":false,"following":null,"geo_enabled":false,"utc_offset":null,"profile_link_color":"0084B4","description":null,"profile_sidebar_border_color":"C0DEED","url":null,"time_zone":null,"default_profile_image":true,"statuses_count":1,"profile_use_background_image":true,"verified":false,"favourites_count":0,"friends_count":3,"profile_background_color":"C0DEED","is_translator":false,"profile_background_image_url":"http:\/\/a0.twimg.com\/images\/themes\/theme1\/bg.png","created_at":"Sat Jun 11 18:05:53 +0000 2011","followers_count":0,"follow_request_sent":null,"lang":"en","profile_background_image_url_https":"https:\/\/si0.twimg.com\/images\/themes\/theme1\/bg.png","id":315338037,"profile_text_color":"333333","profile_image_url_https":"https:\/\/si0.twimg.com\/sticky\/default_profile_images\/default_profile_0_normal.png","profile_image_url":"http:\/\/a3.twimg.com\/sticky\/default_profile_images\/default_profile_0_normal.png"},"favorited":false,"possibly_sensitive":false,"in_reply_to_status_id_str":null,"geo":null,"in_reply_to_screen_name":null,"in_reply_to_user_id_str":null,"coordinates":null,"in_reply_to_user_id":null,"source":"\u003Ca href=\"http:\/\/mobile.twitter.com\" rel=\"nofollow\"\u003EMobile Web\u003C\/a\u003E","created_at":"Sat Sep 03 21:30:44 +0000 2011","entities":{"user_mentions":[],"urls":[{"display_url":"goo.gl\/TDs5Y?kylo","expanded_url":"http:\/\/goo.gl\/TDs5Y?kylo","url":"http:\/\/t.co\/9EhL4KF","indices":[53,72]}],"hashtags":[]},"contributors":null,"retweeted":false,"retweet_count":0,"id":110102452656816129,"place":null,"text":"I just made $577 today working a few hour from home http:\/\/t.co\/9EhL4KF","result_category":"recent"},{"id_str":"110102452191248384","in_reply_to_status_id":null,"truncated":false,"user":{"profile_sidebar_fill_color":"f6ce93","protected":false,"id_str":"243420776","notifications":false,"profile_background_tile":false,"screen_name":"DenisFariias","name":" Denis Farias","default_profile":false,"listed_count":0,"location":"","show_all_inline_media":false,"contributors_enabled":false,"following":true,"geo_enabled":false,"utc_offset":null,"profile_link_color":"825421","description":"tourino, shato pra caralho, amig\u00e3o, olhos verdes, americano e vascaino fanatico, futebol, forro, festa... Msn: denis_fariaschagas@hotmail.com \r\n","profile_sidebar_border_color":"000000","url":null,"time_zone":null,"default_profile_image":false,"statuses_count":995,"profile_use_background_image":true,"verified":false,"favourites_count":1,"friends_count":145,"profile_background_color":"ffffff","is_translator":false,"profile_background_image_url":"http:\/\/a1.twimg.com\/profile_background_images\/324394183\/wall-3.br.jpg","created_at":"Thu Jan 27 00:40:08 +0000 2011","followers_count":192,"follow_request_sent":false,"lang":"en","profile_background_image_url_https":"https:\/\/si0.twimg.com\/profile_background_images\/324394183\/wall-3.br.jpg","id":243420776,"profile_text_color":"000000","profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1495336726\/Denis99_normal.jpg","profile_image_url":"http:\/\/a0.twimg.com\/profile_images\/1495336726\/Denis99_normal.jpg"},"favorited":false,"possibly_sensitive":false,"in_reply_to_status_id_str":null,"geo":null,"in_reply_to_screen_name":null,"in_reply_to_user_id_str":null,"coordinates":null,"in_reply_to_user_id":null,"source":"\u003Ca href=\"http:\/\/www.twitrbackgrounds.com\" rel=\"nofollow\"\u003Etwitrbackgroundsdotcom\u003C\/a\u003E","created_at":"Sat Sep 03 21:30:44 +0000 2011","entities":{"user_mentions":[],"urls":[{"display_url":"TwitterBackgrounds.com","expanded_url":"http:\/\/www.TwitterBackgrounds.com","url":"http:\/\/t.co\/Yxg7c6U","indices":[62,81]}],"hashtags":[]},"contributors":null,"retweeted":false,"retweet_count":0,"id":110102452191248384,"place":null,"text":"Just changed my twitter background, check it out! Found it at http:\/\/t.co\/Yxg7c6U on Saturday 02:24:36 PM","result_category":"recent"},{"id_str":"110102451520147456","in_reply_to_status_id":null,"truncated":false,"user":{"profile_sidebar_fill_color":"ffffff","protected":false,"id_str":"244369383","notifications":false,"profile_background_tile":true,"screen_name":"ryanruggi","name":"Ryan Ruggiero","listed_count":6,"location":"Atlanta, Georgia","show_all_inline_media":true,"contributors_enabled":false,"following":false,"geo_enabled":true,"utc_offset":-18000,"profile_link_color":"32c232","description":"Just livin' it up like it's the weekend. ","profile_sidebar_border_color":"ffffff","url":null,"time_zone":"Eastern Time (US & Canada)","default_profile_image":false,"statuses_count":7023,"profile_use_background_image":true,"default_profile":false,"verified":false,"favourites_count":15,"friends_count":682,"profile_background_color":"fafafa","is_translator":false,"profile_background_image_url":"http:\/\/a2.twimg.com\/profile_background_images\/316502774\/pattern-background.jpg","created_at":"Sat Jan 29 04:35:01 +0000 2011","followers_count":640,"follow_request_sent":false,"lang":"en","profile_background_image_url_https":"https:\/\/si0.twimg.com\/profile_background_images\/316502774\/pattern-background.jpg","id":244369383,"profile_text_color":"46454d","profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1523046286\/image_normal.jpg","profile_image_url":"http:\/\/a2.twimg.com\/profile_images\/1523046286\/image_normal.jpg"},"favorited":false,"possibly_sensitive":false,"in_reply_to_status_id_str":null,"geo":null,"in_reply_to_screen_name":null,"in_reply_to_user_id_str":null,"coordinates":null,"in_reply_to_user_id":null,"source":"web","created_at":"Sat Sep 03 21:30:46 +0000 2011","entities":{"user_mentions":[],"urls":[],"media":[{"type":"photo","id_str":"110102451524341761","display_url":"pic.twitter.com\/3Bmz6qj","expanded_url":"http:\/\/twitter.com\/ryanruggi\/status\/110102451520147456\/photo\/1","media_url_https":"https:\/\/p.twimg.com\/AYcpmKgCEAEnDeT.png","url":"http:\/\/t.co\/3Bmz6qj","indices":[60,79],"sizes":{"small":{"h":262,"w":340,"resize":"fit"},"large":{"h":602,"w":780,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"},"medium":{"h":463,"w":600,"resize":"fit"}},"id":110102451524341761,"media_url":"http:\/\/p.twimg.com\/AYcpmKgCEAEnDeT.png"}],"hashtags":[]},"contributors":null,"retweeted":false,"retweet_count":0,"id":110102451520147456,"place":null,"text":"Well this'll be fun, it's heading straight for Atlanta! O.o http:\/\/t.co\/3Bmz6qj","result_category":"recent"},{"id_str":"110102450790338560","in_reply_to_status_id":null,"truncated":false,"user":{"profile_sidebar_fill_color":"DDEEF6","protected":false,"id_str":"363396957","notifications":false,"profile_background_tile":false,"screen_name":"MarixoliitaC","name":"maria fernanda","listed_count":0,"location":"","show_all_inline_media":false,"contributors_enabled":false,"following":false,"geo_enabled":false,"utc_offset":null,"profile_link_color":"0084B4","description":"","profile_sidebar_border_color":"C0DEED","url":"http:\/\/www.facebook.com\/marixolita.bonita","time_zone":null,"default_profile_image":false,"statuses_count":33,"profile_use_background_image":true,"verified":false,"favourites_count":0,"friends_count":9,"profile_background_color":"C0DEED","is_translator":false,"profile_background_image_url":"http:\/\/a0.twimg.com\/images\/themes\/theme1\/bg.png","created_at":"Sun Aug 28 01:07:24 +0000 2011","followers_count":0,"default_profile":true,"follow_request_sent":false,"lang":"es","profile_background_image_url_https":"https:\/\/si0.twimg.com\/images\/themes\/theme1\/bg.png","id":363396957,"profile_text_color":"333333","profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1517730160\/275837_100002268478641_2446262_n_normal.jpg","profile_image_url":"http:\/\/a1.twimg.com\/profile_images\/1517730160\/275837_100002268478641_2446262_n_normal.jpg"},"favorited":false,"in_reply_to_status_id_str":null,"geo":null,"in_reply_to_screen_name":null,"in_reply_to_user_id_str":null,"coordinates":null,"in_reply_to_user_id":null,"source":"web","created_at":"Sat Sep 03 21:30:44 +0000 2011","entities":{"user_mentions":[],"urls":[],"hashtags":[]},"contributors":null,"retweeted":false,"retweet_count":0,"id":110102450790338560,"place":null,"text":"dia perfecto para vicear full en twitter xD","result_category":"recent"},{"id_str":"110102450614181888","in_reply_to_status_id":null,"truncated":false,"user":{"profile_sidebar_fill_color":"","protected":false,"id_str":"351563676","notifications":false,"profile_background_tile":true,"screen_name":"vemquicandu","name":"Capit\u00e3o Caverna","default_profile":false,"listed_count":263,"location":"no beco no buteco de um bar","show_all_inline_media":false,"contributors_enabled":false,"following":true,"geo_enabled":false,"utc_offset":-14400,"profile_link_color":"de0909","description":"ex prostituta, ex presidiario, ex dorgado. AGORA SOU RYCO E MINHA VIDA \u00c9 UM LUXO! e ainda tinha gente que fala que eu to na pior. ps: s\u00f3 aceito com scrap u_\u00fa kk","profile_sidebar_border_color":"fafafa","url":null,"time_zone":"Santiago","default_profile_image":false,"statuses_count":2229,"profile_use_background_image":true,"verified":false,"favourites_count":281,"friends_count":452,"profile_background_color":"f7f9fa","is_translator":false,"profile_background_image_url":"http:\/\/a1.twimg.com\/profile_background_images\/308785326\/avenged-seven-fold.jpg","created_at":"Tue Aug 09 12:38:31 +0000 2011","followers_count":976,"follow_request_sent":false,"lang":"pt","profile_background_image_url_https":"https:\/\/si0.twimg.com\/profile_background_images\/308785326\/avenged-seven-fold.jpg","id":351563676,"profile_text_color":"333333","profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1495621875\/lilipe_normal.jpg","profile_image_url":"http:\/\/a2.twimg.com\/profile_images\/1495621875\/lilipe_normal.jpg"},"favorited":false,"in_reply_to_status_id_str":null,"geo":null,"in_reply_to_screen_name":null,"in_reply_to_user_id_str":null,"coordinates":null,"in_reply_to_user_id":null,"source":"web","created_at":"Sat Sep 03 21:30:44 +0000 2011","entities":{"user_mentions":[],"urls":[],"hashtags":[]},"contributors":null,"retweeted":false,"retweet_count":0,"id":110102450614181888,"place":null,"text":"twitter ta parad\u00e3o","result_category":"recent"},{"id_str":"110102450559651841","in_reply_to_status_id":null,"truncated":false,"user":{"profile_sidebar_fill_color":"DDEEF6","protected":false,"id_str":"360252951","notifications":null,"profile_background_tile":false,"screen_name":"shesignorant","name":"Nan","default_profile":true,"listed_count":0,"location":"","show_all_inline_media":false,"contributors_enabled":false,"following":null,"geo_enabled":false,"utc_offset":null,"profile_link_color":"0084B4","description":"","profile_sidebar_border_color":"C0DEED","url":null,"time_zone":null,"default_profile_image":false,"statuses_count":1048,"profile_use_background_image":true,"verified":false,"favourites_count":0,"friends_count":2,"profile_background_color":"C0DEED","is_translator":false,"profile_background_image_url":"http:\/\/a0.twimg.com\/images\/themes\/theme1\/bg.png","created_at":"Mon Aug 22 22:57:18 +0000 2011","followers_count":1,"follow_request_sent":null,"lang":"pt","profile_background_image_url_https":"https:\/\/si0.twimg.com\/images\/themes\/theme1\/bg.png","id":360252951,"profile_text_color":"333333","profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1522354181\/hees_normal.png","profile_image_url":"http:\/\/a0.twimg.com\/profile_images\/1522354181\/hees_normal.png"},"favorited":false,"possibly_sensitive":false,"in_reply_to_status_id_str":null,"geo":null,"in_reply_to_screen_name":null,"in_reply_to_user_id_str":null,"coordinates":null,"in_reply_to_user_id":null,"source":"\u003Ca href=\"http:\/\/www.tweetdeck.com\" rel=\"nofollow\"\u003ETweetDeck\u003C\/a\u003E","created_at":"Sat Sep 03 21:30:44 +0000 2011","entities":{"user_mentions":[{"name":"Fanfic Obsession","screen_name":"fanficobsession","id_str":"89702318","indices":[10,26],"id":89702318},{"name":"Taste Of Ink Store","screen_name":"tasteofinkstore","id_str":"45738466","indices":[31,47],"id":45738466}],"urls":[{"display_url":"kingo.to\/MJx","expanded_url":"http:\/\/kingo.to\/MJx","url":"http:\/\/t.co\/MFstcIo","indices":[84,103]}],"hashtags":[]},"contributors":null,"retweeted":false,"retweet_count":0,"id":110102450559651841,"place":null,"text":"Eu sigo o @fanficobsession e a @tasteofinkstore e quero ganhar o Kit 01 de bottons! http:\/\/t.co\/MFstcIo twitter","result_category":"recent"},{"id_str":"110102450240888832","in_reply_to_status_id":110101691038306304,"truncated":false,"user":{"profile_sidebar_fill_color":"ffffff","protected":false,"id_str":"340238592","notifications":null,"profile_background_tile":true,"screen_name":"AnaisWatson","name":"Ana\u00efs Gomez-Watson \u262e","default_profile":false,"listed_count":1,"location":"#Poufsoufflepower \u03df","show_all_inline_media":false,"contributors_enabled":false,"following":null,"geo_enabled":true,"utc_offset":-10800,"profile_link_color":"f07b5d","description":"Ana\u00efs 16 yo, Jenny is my love #heartTeam. Being myself in that fake world. Second twitter ; Potter head , selenator and belieber. Until the very end \u03df","profile_sidebar_border_color":"e8e8e8","url":"http:\/\/iownyournight.tumblr.com\/","time_zone":"Greenland","default_profile_image":false,"statuses_count":1160,"profile_use_background_image":true,"verified":false,"favourites_count":3,"friends_count":24,"profile_background_color":"c0deed","is_translator":false,"profile_background_image_url":"http:\/\/a0.twimg.com\/profile_background_images\/323685091\/tumblr_looi6k1Vn01qderwco1_500.jpg","created_at":"Fri Jul 22 11:07:30 +0000 2011","followers_count":27,"follow_request_sent":null,"lang":"fr","profile_background_image_url_https":"https:\/\/si0.twimg.com\/profile_background_images\/323685091\/tumblr_looi6k1Vn01qderwco1_500.jpg","id":340238592,"profile_text_color":"333333","profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1525293982\/for_twitter_1_normal.png","profile_image_url":"http:\/\/a0.twimg.com\/profile_images\/1525293982\/for_twitter_1_normal.png"},"favorited":false,"in_reply_to_status_id_str":"110101691038306304","geo":null,"in_reply_to_screen_name":"Poufsouffle_","in_reply_to_user_id_str":"349194144","coordinates":null,"in_reply_to_user_id":349194144,"source":"\u003Ca href=\"http:\/\/mobile.twitter.com\" rel=\"nofollow\"\u003EMobile Web\u003C\/a\u003E","created_at":"Sat Sep 03 21:30:44 +0000 2011","entities":{"user_mentions":[{"name":"Pomona Chourave","screen_name":"Poufsouffle_","id_str":"349194144","indices":[0,13],"id":349194144}],"urls":[],"hashtags":[]},"contributors":null,"retweeted":false,"retweet_count":0,"id":110102450240888832,"place":null,"text":"@Poufsouffle_ - TC, le nombre de followers qui importe tant. \u00c7a m'\u00e9nerve aussi d'o\u00f9 mon recul sur un twitter plus personnel -","result_category":"recent"},{"truncated":false,"favorited":false,"possibly_sensitive":false,"in_reply_to_status_id_str":null,"in_reply_to_screen_name":null,"in_reply_to_user_id_str":null,"in_reply_to_user_id":null,"contributors":null,"geo":null,"user":{"listed_count":4,"protected":false,"show_all_inline_media":true,"contributors_enabled":false,"geo_enabled":true,"notifications":false,"profile_link_color":"0099CC","screen_name":"Alilicita","name":"Ali Le\u00f3n D\u00edaz","profile_sidebar_border_color":"fff8ad","location":"Lambar\u00e9-Paraguay","following":true,"time_zone":"Santiago","utc_offset":-14400,"description":"26\/ABR, Tauro, Lic. en Administraci\u00f3n de Empresas, #CCP1912 y...no tengo nada contra ellos,la rabia es contra el tiempo por ponerte junto a mi..tarde..","default_profile_image":false,"statuses_count":6526,"profile_use_background_image":true,"url":"http:\/\/www.facebook.com\/ali.leondiaz","verified":false,"favourites_count":4,"friends_count":324,"profile_background_color":"FFF04D","is_translator":false,"profile_background_image_url":"http:\/\/a3.twimg.com\/profile_background_images\/312913794\/felinos__56_.jpg","followers_count":260,"follow_request_sent":false,"profile_background_image_url_https":"https:\/\/si0.twimg.com\/profile_background_images\/312913794\/felinos__56_.jpg","created_at":"Mon Jan 25 15:35:59 +0000 2010","profile_text_color":"333333","profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1515384610\/Foto0224_normal.jpg","lang":"es","profile_sidebar_fill_color":"f6ffd1","id":108322421,"id_str":"108322421","default_profile":false,"profile_background_tile":true,"profile_image_url":"http:\/\/a3.twimg.com\/profile_images\/1515384610\/Foto0224_normal.jpg"},"retweeted":false,"retweet_count":0,"coordinates":null,"source":"\u003Ca href=\"http:\/\/twitdat.com\" rel=\"nofollow\"\u003Etwitdat\u003C\/a\u003E","created_at":"Sat Sep 03 21:30:44 +0000 2011","entities":{"user_mentions":[{"name":"TwitDat","screen_name":"twitdatcom","indices":[56,67],"id":253174959,"id_str":"253174959"}],"hashtags":[],"urls":[{"display_url":"twitdat.com\/tools","expanded_url":"http:\/\/twitdat.com\/tools","url":"http:\/\/t.co\/Yl8DewV","indices":[32,51]}]},"id":110102449922121728,"id_str":"110102449922121728","place":null,"in_reply_to_status_id":null,"text":"Test de Reciprocidad en Twitter http:\/\/t.co\/Yl8DewV v\u00eda @twitdatcom","result_category":"recent"},{"id_str":"110102449896947712","in_reply_to_status_id":null,"truncated":false,"user":{"profile_sidebar_fill_color":"","protected":false,"id_str":"172176570","notifications":false,"profile_background_tile":true,"screen_name":"bela_lopes2","name":"Isabela Lopes","listed_count":0,"location":"","show_all_inline_media":false,"contributors_enabled":false,"following":false,"geo_enabled":true,"utc_offset":-14400,"profile_link_color":"cb81de","description":"","profile_sidebar_border_color":"ffffff","url":"http:\/\/www.facebook.com\/IsaahLopes","time_zone":"Santiago","default_profile_image":false,"statuses_count":413,"profile_use_background_image":true,"verified":false,"favourites_count":4,"friends_count":195,"profile_background_color":"e05ee0","is_translator":false,"default_profile":false,"profile_background_image_url":"http:\/\/a2.twimg.com\/profile_background_images\/315191776\/190448_200664266619663_100000282739711_696335_665848_a.jpg","created_at":"Thu Jul 29 02:28:42 +0000 2010","followers_count":54,"follow_request_sent":false,"lang":"pt","profile_background_image_url_https":"https:\/\/si0.twimg.com\/profile_background_images\/315191776\/190448_200664266619663_100000282739711_696335_665848_a.jpg","id":172176570,"profile_text_color":"e673e6","profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1513465899\/foto0675_001_normal.jpg","profile_image_url":"http:\/\/a1.twimg.com\/profile_images\/1513465899\/foto0675_001_normal.jpg"},"favorited":false,"in_reply_to_status_id_str":null,"geo":null,"in_reply_to_screen_name":null,"in_reply_to_user_id_str":null,"coordinates":null,"in_reply_to_user_id":null,"source":"web","created_at":"Sat Sep 03 21:30:44 +0000 2011","entities":{"user_mentions":[],"urls":[],"hashtags":[]},"contributors":null,"retweeted":false,"retweet_count":0,"id":110102449896947712,"place":null,"text":"Hi twitter acabei de chegar do plus e ja estou saindo daqui a pouco tem mag u.u","result_category":"recent"},{"id_str":"110102449607548928","in_reply_to_status_id":null,"truncated":false,"user":{"profile_sidebar_fill_color":"","protected":false,"id_str":"199513730","notifications":false,"profile_background_tile":true,"screen_name":"News_MCyrus","name":"Noticias MileyCyrus.","listed_count":166,"location":"Toluka Lake \/ Nashville ","show_all_inline_media":false,"contributors_enabled":false,"following":true,"geo_enabled":false,"utc_offset":-10800,"profile_link_color":"bd3535","description":"Hechos, frases, fotos & todo lo que queres saber sobre Miley Ray Cyrus esta AQU\u00cd. Si te gustan los #News_MCyrus no dudes en seguirnos & dar RT. RADIANTE AMOR\u262e","profile_sidebar_border_color":"ffffff","url":"http:\/\/twitter.com\/#!\/News_MCyrus\/favorites","time_zone":"Buenos Aires","default_profile_image":false,"statuses_count":7114,"profile_use_background_image":true,"verified":false,"favourites_count":659,"friends_count":571,"profile_background_color":"613161","is_translator":false,"profile_background_image_url":"http:\/\/a2.twimg.com\/profile_background_images\/314729379\/violeta-chispas-wallpapers_7658_1920x1200.jpg","created_at":"Thu Oct 07 01:54:29 +0000 2010","followers_count":9020,"follow_request_sent":false,"lang":"es","profile_background_image_url_https":"https:\/\/si0.twimg.com\/profile_background_images\/314729379\/violeta-chispas-wallpapers_7658_1920x1200.jpg","id":199513730,"default_profile":false,"profile_text_color":"3C3940","profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1518494905\/normal_009_normal.jpg","profile_image_url":"http:\/\/a0.twimg.com\/profile_images\/1518494905\/normal_009_normal.jpg"},"favorited":false,"in_reply_to_status_id_str":null,"geo":null,"in_reply_to_screen_name":null,"in_reply_to_user_id_str":null,"coordinates":null,"in_reply_to_user_id":null,"source":"web","created_at":"Sat Sep 03 21:30:44 +0000 2011","entities":{"user_mentions":[{"name":"Rouse & Chizi.","screen_name":"NickJOrgasm","id_str":"220459277","indices":[24,36],"id":220459277}],"urls":[],"hashtags":[]},"contributors":null,"retweeted":false,"retweet_count":0,"id":110102449607548928,"place":null,"text":"SIGAN A MI OTRO TWITTER @NickJOrgasm .. DOY FOLLOW BACK A TODOOS LOS QUE ME SIGUEN =]","result_category":"recent"},{"id_str":"110102449100042240","in_reply_to_status_id":110101177487736832,"truncated":false,"user":{"profile_sidebar_fill_color":"daf50c","protected":false,"id_str":"104629704","notifications":false,"profile_background_tile":true,"screen_name":"bettaThanYa_EX","name":"NOONIE\u2122","listed_count":0,"location":"Location Not Found ...","show_all_inline_media":false,"contributors_enabled":false,"following":true,"geo_enabled":false,"utc_offset":-21600,"profile_link_color":"33adcc","description":"i be in my own lil world felling like . . Fuck you \u2192 you \u2191 you \u2197 you \u2193 oh, & you\u2198 ! - dnt lurk .. HOE jus Follow '","profile_sidebar_border_color":"0ebff0","url":null,"time_zone":"Central Time (US & Canada)","default_profile_image":false,"statuses_count":7060,"profile_use_background_image":true,"verified":false,"favourites_count":72,"friends_count":386,"profile_background_color":"10ad61","is_translator":false,"profile_background_image_url":"http:\/\/a2.twimg.com\/profile_background_images\/266467400\/rinekacurry.jpg","created_at":"Wed Jan 13 22:39:54 +0000 2010","followers_count":430,"default_profile":false,"follow_request_sent":false,"lang":"en","profile_background_image_url_https":"https:\/\/si0.twimg.com\/profile_background_images\/266467400\/rinekacurry.jpg","id":104629704,"profile_text_color":"f02bf0","profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1515615525\/image_normal.jpg","profile_image_url":"http:\/\/a2.twimg.com\/profile_images\/1515615525\/image_normal.jpg"},"favorited":false,"in_reply_to_status_id_str":"110101177487736832","geo":null,"in_reply_to_screen_name":"Tavia_Danielle","in_reply_to_user_id_str":"230065008","coordinates":null,"in_reply_to_user_id":230065008,"source":"web","created_at":"Sat Sep 03 21:30:44 +0000 2011","entities":{"user_mentions":[{"name":"Tavia Russell","screen_name":"Tavia_Danielle","id_str":"230065008","indices":[0,15],"id":230065008}],"urls":[],"hashtags":[]},"contributors":null,"retweeted":false,"retweet_count":0,"id":110102449100042240,"place":null,"text":"@Tavia_Danielle bitch dnt keep saying you not gne fuss on twitter but yet you still posting shit !!!","result_category":"recent"},{"id_str":"110102448923869184","in_reply_to_status_id":null,"truncated":false,"user":{"profile_sidebar_fill_color":"f7f4f6","protected":false,"id_str":"95950724","notifications":false,"profile_background_tile":true,"screen_name":"bellahidalgo","name":"Isabella Hidalgo","listed_count":0,"location":"","show_all_inline_media":false,"contributors_enabled":false,"following":false,"geo_enabled":false,"utc_offset":-10800,"profile_link_color":"f51eb1","description":"","profile_sidebar_border_color":"ff00cc","url":null,"time_zone":"Greenland","default_profile_image":false,"statuses_count":1792,"profile_use_background_image":true,"default_profile":false,"verified":false,"favourites_count":14,"friends_count":78,"profile_background_color":"ff03cd","is_translator":false,"profile_background_image_url":"http:\/\/a3.twimg.com\/profile_background_images\/294789691\/tumblr_l13v25Ujet1qajhpuo1_500.jpg","created_at":"Thu Dec 10 17:59:33 +0000 2009","followers_count":77,"follow_request_sent":false,"lang":"pt","profile_background_image_url_https":"https:\/\/si0.twimg.com\/profile_background_images\/294789691\/tumblr_l13v25Ujet1qajhpuo1_500.jpg","id":95950724,"profile_text_color":"000000","profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1441175861\/PQAAAJff1q2whMis3_AoguHrmzVkson0kPdvSivgdrcswwzS26fRlyazLhUV8Em9BxBcVrgtcj8Yv8PpgWKc2iDtIGMAm1T1UAh4nNdMyMN4p6PODOYqiZY4b2oE_normal.jpg","profile_image_url":"http:\/\/a3.twimg.com\/profile_images\/1441175861\/PQAAAJff1q2whMis3_AoguHrmzVkson0kPdvSivgdrcswwzS26fRlyazLhUV8Em9BxBcVrgtcj8Yv8PpgWKc2iDtIGMAm1T1UAh4nNdMyMN4p6PODOYqiZY4b2oE_normal.jpg"},"favorited":false,"in_reply_to_status_id_str":null,"geo":null,"in_reply_to_screen_name":null,"in_reply_to_user_id_str":null,"coordinates":null,"in_reply_to_user_id":null,"source":"web","created_at":"Sat Sep 03 21:30:44 +0000 2011","entities":{"user_mentions":[],"urls":[],"hashtags":[]},"contributors":null,"retweeted":false,"retweet_count":0,"id":110102448923869184,"place":null,"text":"aiai descobri que minha irm\u00e3 tava mexendo no meu twitter u-u","result_category":"recent"},{"id_str":"110102448873537537","in_reply_to_status_id":null,"truncated":false,"user":{"profile_sidebar_fill_color":"ffffff","protected":false,"id_str":"240560217","notifications":null,"profile_background_tile":false,"screen_name":"CSImegan","name":"Megan Carter","default_profile":false,"listed_count":1,"location":"Carmel, IN","show_all_inline_media":false,"contributors_enabled":false,"following":null,"geo_enabled":false,"utc_offset":-18000,"profile_link_color":"93A644","description":"Pursuing my Masters in Forensic Biology. Purdue grad. Foodie. Avid reader. Christian. Sports fanatic. Random fact enthusiast. I love my hubby and 2 furry sons!","profile_sidebar_border_color":"eeeeee","url":null,"time_zone":"Indiana (East)","default_profile_image":false,"statuses_count":331,"profile_use_background_image":true,"verified":false,"favourites_count":0,"friends_count":363,"profile_background_color":"B2DFDA","is_translator":false,"profile_background_image_url":"http:\/\/a1.twimg.com\/images\/themes\/theme13\/bg.gif","created_at":"Thu Jan 20 06:02:09 +0000 2011","followers_count":91,"follow_request_sent":null,"lang":"en","profile_background_image_url_https":"https:\/\/si0.twimg.com\/images\/themes\/theme13\/bg.gif","id":240560217,"profile_text_color":"333333","profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1221377599\/SAM_1222_normal.JPG","profile_image_url":"http:\/\/a2.twimg.com\/profile_images\/1221377599\/SAM_1222_normal.JPG"},"favorited":false,"possibly_sensitive":false,"in_reply_to_status_id_str":null,"geo":null,"in_reply_to_screen_name":null,"in_reply_to_user_id_str":null,"coordinates":null,"in_reply_to_user_id":null,"source":"\u003Ca href=\"http:\/\/www.yelp.com\/\" rel=\"nofollow\"\u003EYelp\u003C\/a\u003E","created_at":"Sat Sep 03 21:30:44 +0000 2011","entities":{"user_mentions":[],"urls":[{"display_url":"bit.ly\/pMjZQy","expanded_url":"http:\/\/bit.ly\/pMjZQy","url":"http:\/\/t.co\/nvDM2ug","indices":[68,87]}],"hashtags":[{"indices":[62,67],"text":"Yelp"}]},"contributors":null,"retweeted":false,"retweet_count":0,"id":110102448873537537,"place":null,"text":"I checked in at Embassy Suites Hotel (4554 Lake Forest Dr) on #Yelp http:\/\/t.co\/nvDM2ug","result_category":"recent"},{"id_str":"110102448596729856","in_reply_to_status_id":null,"truncated":false,"user":{"profile_sidebar_fill_color":"DDEEF6","protected":false,"id_str":"105869117","notifications":false,"profile_background_tile":false,"screen_name":"OmegaAudioVideo","name":"OmegaAudioVideo","listed_count":29,"location":"London, Ontario, Canada","show_all_inline_media":false,"contributors_enabled":false,"following":true,"geo_enabled":false,"utc_offset":-18000,"profile_link_color":"0084B4","description":"We are a premiere Custom AudioVisual company in London, ON. We match the technology you want, with your lifestyle and your budget! - Tweets by Matt Scott, Pres.","profile_sidebar_border_color":"C0DEED","url":"http:\/\/www.OmegaAudio.net","time_zone":"Eastern Time (US & Canada)","default_profile_image":false,"statuses_count":4273,"profile_use_background_image":true,"verified":false,"favourites_count":2,"friends_count":415,"profile_background_color":"C0DEED","is_translator":false,"profile_background_image_url":"http:\/\/a2.twimg.com\/profile_background_images\/289421859\/OAVtwitBG.jpg","created_at":"Sun Jan 17 19:30:24 +0000 2010","followers_count":389,"default_profile":false,"follow_request_sent":false,"lang":"en","profile_background_image_url_https":"https:\/\/si0.twimg.com\/profile_background_images\/289421859\/OAVtwitBG.jpg","id":105869117,"profile_text_color":"333333","profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1338877809\/Logo_normal.jpg","profile_image_url":"http:\/\/a0.twimg.com\/profile_images\/1338877809\/Logo_normal.jpg"},"favorited":false,"possibly_sensitive":false,"in_reply_to_status_id_str":null,"geo":null,"in_reply_to_screen_name":null,"in_reply_to_user_id_str":null,"coordinates":null,"in_reply_to_user_id":null,"source":"\u003Ca href=\"http:\/\/www.tweetdeck.com\" rel=\"nofollow\"\u003ETweetDeck\u003C\/a\u003E","created_at":"Sat Sep 03 21:30:44 +0000 2011","entities":{"user_mentions":[{"name":"Jim Kelly","screen_name":"GeekInAwe","id_str":"322429893","indices":[68,78],"id":322429893}],"urls":[{"display_url":"deck.ly\/~2WX4z","expanded_url":"http:\/\/deck.ly\/~2WX4z","url":"http:\/\/t.co\/s1SbNXE","indices":[115,134]}],"hashtags":[]},"contributors":null,"retweeted":false,"retweet_count":0,"id":110102448596729856,"place":null,"text":"You stink, I'm kidding! Have fun man! You coming back for Cedia? RT @GeekInAwe: Yup! You read it correctly\u2026 (cont) http:\/\/t.co\/s1SbNXE","result_category":"recent"},{"id_str":"110102448332472320","in_reply_to_status_id":null,"truncated":false,"user":{"profile_sidebar_fill_color":"F6F6F6","protected":false,"id_str":"51282724","notifications":null,"profile_background_tile":false,"screen_name":"b_ferrera","name":"Bruno Reis","default_profile":false,"listed_count":0,"location":"Brazil..on my way to Canada","show_all_inline_media":false,"contributors_enabled":false,"following":null,"geo_enabled":true,"utc_offset":-10800,"profile_link_color":"038543","description":"Hi there! College in 2011, Brazil hopefully not for too long but soon in Canada","profile_sidebar_border_color":"EEEEEE","url":null,"time_zone":"Brasilia","default_profile_image":false,"statuses_count":1021,"profile_use_background_image":true,"verified":false,"favourites_count":5,"friends_count":117,"profile_background_color":"ACDED6","is_translator":false,"profile_background_image_url":"http:\/\/a1.twimg.com\/images\/themes\/theme18\/bg.gif","created_at":"Sat Jun 27 00:04:33 +0000 2009","followers_count":54,"follow_request_sent":null,"lang":"en","profile_background_image_url_https":"https:\/\/si0.twimg.com\/images\/themes\/theme18\/bg.gif","id":51282724,"profile_text_color":"333333","profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1300101851\/DSC01425_normal.jpg","profile_image_url":"http:\/\/a1.twimg.com\/profile_images\/1300101851\/DSC01425_normal.jpg"},"favorited":false,"in_reply_to_status_id_str":null,"geo":null,"in_reply_to_screen_name":null,"in_reply_to_user_id_str":null,"coordinates":null,"in_reply_to_user_id":null,"source":"\u003Ca href=\"http:\/\/twitter.com\/#!\/download\/iphone\" rel=\"nofollow\"\u003ETwitter for iPhone\u003C\/a\u003E","created_at":"Sat Sep 03 21:30:43 +0000 2011","entities":{"user_mentions":[],"urls":[],"hashtags":[]},"contributors":null,"retweeted":false,"retweet_count":0,"id":110102448332472320,"place":null,"text":"Alguem conhece um twitter que zoa corinthians?? Pq tem algumas pessoas q ficam retweeting uns tweets que me irritam demaais!!","result_category":"recent"},{"id_str":"110102448286339072","in_reply_to_status_id":null,"truncated":false,"user":{"profile_sidebar_fill_color":"f0f073","protected":false,"id_str":"185890956","notifications":false,"profile_background_tile":false,"screen_name":"PlayaMiaBeach","name":"Playa Mia Cozumel","listed_count":1,"location":"Cozumel, M\u00e9xico","show_all_inline_media":false,"contributors_enabled":false,"following":true,"geo_enabled":false,"utc_offset":null,"profile_link_color":"b35c00","description":"Live a memorable experience at the Mexican Caribbean in one of the finest beach clubs in Cozumel. ","profile_sidebar_border_color":"ebcf2f","url":"http:\/\/www.playamiacozumel.com\/","time_zone":null,"default_profile_image":false,"statuses_count":508,"profile_use_background_image":true,"default_profile":false,"verified":false,"favourites_count":0,"friends_count":410,"profile_background_color":"f7f794","is_translator":false,"profile_background_image_url":"http:\/\/a2.twimg.com\/profile_background_images\/266405327\/back_twitter.jpg","created_at":"Thu Sep 02 02:20:29 +0000 2010","followers_count":247,"follow_request_sent":false,"lang":"en","profile_background_image_url_https":"https:\/\/si0.twimg.com\/profile_background_images\/266405327\/back_twitter.jpg","id":185890956,"profile_text_color":"eb7e2a","profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1118774346\/Playa_Mia__3__normal.jpg","profile_image_url":"http:\/\/a0.twimg.com\/profile_images\/1118774346\/Playa_Mia__3__normal.jpg"},"favorited":false,"possibly_sensitive":false,"in_reply_to_status_id_str":null,"geo":null,"in_reply_to_screen_name":null,"in_reply_to_user_id_str":null,"coordinates":null,"in_reply_to_user_id":null,"source":"web","created_at":"Sat Sep 03 21:30:44 +0000 2011","entities":{"user_mentions":[{"name":"Playa Mia Cozumel","screen_name":"PlayaMiaBeach","id_str":"185890956","indices":[13,27],"id":185890956}],"urls":[],"media":[{"type":"photo","id_str":"110102448290533376","display_url":"pic.twitter.com\/bH36L0s","expanded_url":"http:\/\/twitter.com\/PlayaMiaBeach\/status\/110102448286339072\/photo\/1","media_url_https":"https:\/\/p.twimg.com\/AYcpl-dCEAAOc3o.jpg","url":"http:\/\/t.co\/bH36L0s","indices":[109,128],"sizes":{"small":{"h":340,"w":340,"resize":"fit"},"large":{"h":480,"w":480,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"},"medium":{"h":480,"w":480,"resize":"fit"}},"id":110102448290533376,"media_url":"http:\/\/p.twimg.com\/AYcpl-dCEAAOc3o.jpg"}],"hashtags":[]},"contributors":null,"retweeted":false,"retweet_count":0,"id":110102448286339072,"place":null,"text":"In behalf of @PlayaMiaBeach we wanted to thank everyone for following us. We wish you a wonderful weekend!!! http:\/\/t.co\/bH36L0s","result_category":"recent"},{"id_str":"110102448273760256","in_reply_to_status_id":null,"truncated":false,"user":{"profile_sidebar_fill_color":"DDEEF6","protected":false,"id_str":"365993812","notifications":false,"profile_background_tile":false,"screen_name":"Bieltmadalena","name":"Gabriel Ton Madalena","listed_count":0,"location":null,"show_all_inline_media":false,"contributors_enabled":false,"following":false,"geo_enabled":false,"utc_offset":null,"profile_link_color":"0084B4","description":null,"default_profile":true,"profile_sidebar_border_color":"C0DEED","url":null,"time_zone":null,"default_profile_image":true,"statuses_count":14,"profile_use_background_image":true,"verified":false,"favourites_count":0,"friends_count":36,"profile_background_color":"C0DEED","is_translator":false,"profile_background_image_url":"http:\/\/a0.twimg.com\/images\/themes\/theme1\/bg.png","created_at":"Thu Sep 01 11:33:14 +0000 2011","followers_count":4,"follow_request_sent":false,"lang":"en","profile_background_image_url_https":"https:\/\/si0.twimg.com\/images\/themes\/theme1\/bg.png","id":365993812,"profile_text_color":"333333","profile_image_url_https":"https:\/\/si0.twimg.com\/sticky\/default_profile_images\/default_profile_2_normal.png","profile_image_url":"http:\/\/a1.twimg.com\/sticky\/default_profile_images\/default_profile_2_normal.png"},"favorited":false,"in_reply_to_status_id_str":null,"geo":null,"in_reply_to_screen_name":null,"in_reply_to_user_id_str":null,"coordinates":null,"in_reply_to_user_id":null,"source":"web","created_at":"Sat Sep 03 21:30:43 +0000 2011","entities":{"user_mentions":[],"urls":[],"hashtags":[]},"contributors":null,"retweeted":false,"retweet_count":0,"id":110102448273760256,"place":null,"text":"meu cunhado acha twitter coisa de besta","result_category":"recent"},{"id_str":"110102447757869056","in_reply_to_status_id":null,"truncated":false,"user":{"profile_sidebar_fill_color":"DDEEF6","protected":false,"id_str":"41335311","notifications":null,"profile_background_tile":false,"screen_name":"rico82","name":"Rico Coutain","default_profile":true,"listed_count":2,"location":"London, England","show_all_inline_media":false,"contributors_enabled":false,"following":null,"geo_enabled":false,"utc_offset":0,"profile_link_color":"0084B4","description":"","profile_sidebar_border_color":"C0DEED","url":null,"time_zone":"London","default_profile_image":false,"statuses_count":1019,"profile_use_background_image":true,"verified":false,"favourites_count":5,"friends_count":67,"profile_background_color":"C0DEED","is_translator":false,"profile_background_image_url":"http:\/\/a0.twimg.com\/images\/themes\/theme1\/bg.png","created_at":"Wed May 20 10:50:39 +0000 2009","followers_count":69,"follow_request_sent":null,"lang":"en","profile_background_image_url_https":"https:\/\/si0.twimg.com\/images\/themes\/theme1\/bg.png","id":41335311,"profile_text_color":"333333","profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1385690568\/_JM__20_20Rico_20_20_GD__normal.jpg","profile_image_url":"http:\/\/a2.twimg.com\/profile_images\/1385690568\/_JM__20_20Rico_20_20_GD__normal.jpg"},"favorited":false,"in_reply_to_status_id_str":null,"geo":null,"in_reply_to_screen_name":null,"in_reply_to_user_id_str":null,"coordinates":null,"in_reply_to_user_id":null,"source":"\u003Ca href=\"http:\/\/blackberry.com\/twitter\" rel=\"nofollow\"\u003ETwitter for BlackBerry\u00ae\u003C\/a\u003E","created_at":"Sat Sep 03 21:30:43 +0000 2011","entities":{"user_mentions":[{"name":"Delphina James","screen_name":"Panness","id_str":"130576543","indices":[1,9],"id":130576543}],"urls":[],"hashtags":[{"indices":[92,102],"text":"Sharezies"}]},"contributors":null,"retweeted":false,"retweet_count":0,"id":110102447757869056,"place":null,"text":"\"@Panness: TWITTER-CREW! I JUST FOUND \u00a35 IN MY WINTER-COAT....Now #ThatsWhatImTalkingAbout\" #Sharezies!","result_category":"recent"}],"served_by_blender":false,"error":null,"next_page":null}
@@ -1 +0,0 @@
1
- {"http:\/\/t.co\/uw5bn1w":"http:\/\/www.jeanniejeannie.com\/2011\/08\/29\/the-art-of-clean-up-sorting-and-stacking-everyday-objects\/"}
@@ -1 +0,0 @@
1
- {"error":"Service Unavailable","request":"/1/statuses/show/1.json"}
@@ -1 +0,0 @@
1
- {"favorites":2811,"updates":4109,"followers":475,"friends":1994}
@@ -1 +0,0 @@
1
- {"trends":[{"url":"http:\/\/search.twitter.com\/search?q=Isaacs","name":"Isaacs"},{"url":"http:\/\/search.twitter.com\/search?q=%23speaknow","name":"#speaknow"},{"url":"http:\/\/search.twitter.com\/search?q=Walkman","name":"Walkman"},{"url":"http:\/\/search.twitter.com\/search?q=%23dia31vote13","name":"#dia31vote13"},{"url":"http:\/\/search.twitter.com\/search?q=Jay+Bum","name":"Jay Bum"},{"url":"http:\/\/search.twitter.com\/search?q=Allen+Iverson","name":"Allen Iverson"},{"url":"http:\/\/search.twitter.com\/search?q=RIP+Gregory","name":"RIP Gregory"},{"url":"http:\/\/search.twitter.com\/search?q=Issacs","name":"Issacs"},{"url":"http:\/\/search.twitter.com\/search?q=Night+Nurse","name":"Night Nurse"},{"url":"http:\/\/search.twitter.com\/search?q=VLC","name":"VLC"}],"as_of":"Mon, 25 Oct 2010 15:50:02 +0000"}
@@ -1 +0,0 @@
1
- {"error":"Unauthorized","request":"/1/statuses/user_timeline.json?screen_name=protected"}
@@ -1 +0,0 @@
1
- [{"id_str":"107989062362734594","in_reply_to_status_id":null,"truncated":false,"user":{"default_profile":false,"profile_sidebar_fill_color":"ffffff","protected":false,"id_str":"28201743","notifications":null,"profile_background_tile":false,"screen_name":"VEVO","name":"VEVO","listed_count":2587,"location":"US, Canada, UK, Ireland","show_all_inline_media":false,"contributors_enabled":false,"following":null,"geo_enabled":false,"utc_offset":-18000,"profile_link_color":"df2100","description":"VEVO: Music Evolution Revolution! Music videos and more...","profile_sidebar_border_color":"6f7172","url":"http:\/\/www.vevo.com\/","time_zone":"Eastern Time (US & Canada)","default_profile_image":false,"statuses_count":3510,"profile_use_background_image":true,"verified":false,"favourites_count":667,"friends_count":1095,"profile_background_color":"df2100","is_translator":false,"profile_background_image_url":"http:\/\/a3.twimg.com\/profile_background_images\/94390739\/vevo_logo.jpg","created_at":"Wed Apr 01 21:32:48 +0000 2009","followers_count":130612,"follow_request_sent":null,"lang":"en","profile_background_image_url_https":"https:\/\/si0.twimg.com\/profile_background_images\/94390739\/vevo_logo.jpg","id":28201743,"profile_text_color":"6f7172","profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1465999828\/v_logo_youtube_normal.jpg","profile_image_url":"http:\/\/a1.twimg.com\/profile_images\/1465999828\/v_logo_youtube_normal.jpg"},"favorited":false,"possibly_sensitive":false,"in_reply_to_status_id_str":null,"geo":null,"in_reply_to_screen_name":"foofighters","in_reply_to_user_id_str":"19081001","coordinates":null,"in_reply_to_user_id":19081001,"source":"web","created_at":"Mon Aug 29 01:32:53 +0000 2011","contributors":null,"retweeted":false,"retweet_count":8,"id":107989062362734594,"place":null,"text":"@Foofighters LEGENDS with a Legendary set of Music Videos http:\/\/t.co\/IcVGIQO #VMA #VEVO","url":"http:\/\/vevo.com\/artist\/foo-fighters"}]
@@ -1,29 +0,0 @@
1
- require 'helper'
2
-
3
- describe Twitter::Action::Favorite do
4
-
5
- describe "#sources" do
6
- it "returns a collection of users who favorited a Tweet" do
7
- sources = Twitter::Action::Favorite.new(:sources => [{:id => 7505382}]).sources
8
- expect(sources).to be_an Array
9
- expect(sources.first).to be_a Twitter::User
10
- end
11
- it "is empty when not set" do
12
- sources = Twitter::Action::Favorite.new.sources
13
- expect(sources).to be_empty
14
- end
15
- end
16
-
17
- describe "#targets" do
18
- it "returns a collection containing the favorited Tweet" do
19
- targets = Twitter::Action::Favorite.new(:targets => [{:id => 25938088801}]).targets
20
- expect(targets).to be_an Array
21
- expect(targets.first).to be_a Twitter::Tweet
22
- end
23
- it "is empty when not set" do
24
- targets = Twitter::Action::Favorite.new.targets
25
- expect(targets).to be_empty
26
- end
27
- end
28
-
29
- end
@@ -1,29 +0,0 @@
1
- require 'helper'
2
-
3
- describe Twitter::Action::Follow do
4
-
5
- describe "#sources" do
6
- it "returns a collection of users who followed a user" do
7
- sources = Twitter::Action::Follow.new(:sources => [{:id => 7505382}]).sources
8
- expect(sources).to be_an Array
9
- expect(sources.first).to be_a Twitter::User
10
- end
11
- it "is empty when not set" do
12
- sources = Twitter::Action::Follow.new.sources
13
- expect(sources).to be_empty
14
- end
15
- end
16
-
17
- describe "#targets" do
18
- it "returns a collection containing the followed user" do
19
- targets = Twitter::Action::Follow.new(:targets => [{:id => 7505382}]).targets
20
- expect(targets).to be_an Array
21
- expect(targets.first).to be_a Twitter::User
22
- end
23
- it "is empty when not set" do
24
- targets = Twitter::Action::Follow.new.targets
25
- expect(targets).to be_empty
26
- end
27
- end
28
-
29
- end
@@ -1,41 +0,0 @@
1
- require 'helper'
2
-
3
- describe Twitter::Action::ListMemberAdded do
4
-
5
- describe "#sources" do
6
- it "returns a collection of users who added a user to a list" do
7
- sources = Twitter::Action::ListMemberAdded.new(:sources => [{:id => 7505382}]).sources
8
- expect(sources).to be_an Array
9
- expect(sources.first).to be_a Twitter::User
10
- end
11
- it "is empty when not set" do
12
- sources = Twitter::Action::ListMemberAdded.new.sources
13
- expect(sources).to be_empty
14
- end
15
- end
16
-
17
- describe "#target_objects" do
18
- it "returns a collection of lists that were added to" do
19
- targets = Twitter::Action::ListMemberAdded.new(:target_objects => [{:id => 8863586}]).target_objects
20
- expect(targets).to be_an Array
21
- expect(targets.first).to be_a Twitter::List
22
- end
23
- it "is empty when not set" do
24
- targets = Twitter::Action::ListMemberAdded.new.target_objects
25
- expect(targets).to be_empty
26
- end
27
- end
28
-
29
- describe "#targets" do
30
- it "returns a collection of users who were added to a list" do
31
- targets = Twitter::Action::ListMemberAdded.new(:targets => [{:id => 7505382}]).targets
32
- expect(targets).to be_an Array
33
- expect(targets.first).to be_a Twitter::User
34
- end
35
- it "is empty when not set" do
36
- targets = Twitter::Action::ListMemberAdded.new.targets
37
- expect(targets).to be_empty
38
- end
39
- end
40
-
41
- end
@@ -1,52 +0,0 @@
1
- require 'helper'
2
-
3
- describe Twitter::Action::Mention do
4
-
5
- describe "#sources" do
6
- it "returns a collection of users who mentioned a user" do
7
- sources = Twitter::Action::Mention.new(:sources => [{:id => 7505382}]).sources
8
- expect(sources).to be_an Array
9
- expect(sources.first).to be_a Twitter::User
10
- end
11
- it "is empty when not set" do
12
- sources = Twitter::Action::Mention.new.sources
13
- expect(sources).to be_empty
14
- end
15
- end
16
-
17
- describe "#source" do
18
- it "returns the user who mentioned a user" do
19
- source = Twitter::Action::Mention.new(:sources => [{:id => 7505382}]).source
20
- expect(source).to be_a Twitter::User
21
- end
22
- it "returns nil when not set" do
23
- source = Twitter::Action::Mention.new.source
24
- expect(source).to be_nil
25
- end
26
- end
27
-
28
- describe "#target_objects" do
29
- it "returns a collection of Tweets that mention a user" do
30
- targets = Twitter::Action::Mention.new(:target_objects => [{:id => 25938088801}]).target_objects
31
- expect(targets).to be_an Array
32
- expect(targets.first).to be_a Twitter::Tweet
33
- end
34
- it "is empty when not set" do
35
- targets = Twitter::Action::Mention.new.target_objects
36
- expect(targets).to be_empty
37
- end
38
- end
39
-
40
- describe "#targets" do
41
- it "returns a collection containing the mentioned user" do
42
- targets = Twitter::Action::Mention.new(:targets => [{:id => 7505382}]).targets
43
- expect(targets).to be_an Array
44
- expect(targets.first).to be_a Twitter::User
45
- end
46
- it "is empty when not set" do
47
- targets = Twitter::Action::Mention.new.targets
48
- expect(targets).to be_empty
49
- end
50
- end
51
-
52
- end
@@ -1,41 +0,0 @@
1
- require 'helper'
2
-
3
- describe Twitter::Action::Reply do
4
-
5
- describe "#sources" do
6
- it "returns a collection of users who replied to a user" do
7
- sources = Twitter::Action::Reply.new(:sources => [{:id => 7505382}]).sources
8
- expect(sources).to be_an Array
9
- expect(sources.first).to be_a Twitter::User
10
- end
11
- it "is empty when not set" do
12
- sources = Twitter::Action::Reply.new.sources
13
- expect(sources).to be_empty
14
- end
15
- end
16
-
17
- describe "#target_objects" do
18
- it "returns a collection of Tweets that reply to a user" do
19
- targets = Twitter::Action::Reply.new(:target_objects => [{:id => 25938088801}]).target_objects
20
- expect(targets).to be_an Array
21
- expect(targets.first).to be_a Twitter::Tweet
22
- end
23
- it "is empty when not set" do
24
- targets = Twitter::Action::Reply.new.target_objects
25
- expect(targets).to be_empty
26
- end
27
- end
28
-
29
- describe "#targets" do
30
- it "returns a collection that contains the replied-to status" do
31
- targets = Twitter::Action::Reply.new(:targets => [{:id => 25938088801}]).targets
32
- expect(targets).to be_an Array
33
- expect(targets.first).to be_a Twitter::Tweet
34
- end
35
- it "is empty when not set" do
36
- targets = Twitter::Action::Reply.new.targets
37
- expect(targets).to be_empty
38
- end
39
- end
40
-
41
- end
@@ -1,41 +0,0 @@
1
- require 'helper'
2
-
3
- describe Twitter::Action::Retweet do
4
-
5
- describe "#sources" do
6
- it "returns a collection of users who retweeted a user" do
7
- sources = Twitter::Action::Retweet.new(:sources => [{:id => 7505382}]).sources
8
- expect(sources).to be_an Array
9
- expect(sources.first).to be_a Twitter::User
10
- end
11
- it "is empty when not set" do
12
- sources = Twitter::Action::Retweet.new.sources
13
- expect(sources).to be_empty
14
- end
15
- end
16
-
17
- describe "#target_objects" do
18
- it "returns a collection of retweets" do
19
- targets = Twitter::Action::Retweet.new(:target_objects => [{:id => 25938088801}]).target_objects
20
- expect(targets).to be_an Array
21
- expect(targets.first).to be_a Twitter::Tweet
22
- end
23
- it "is empty when not set" do
24
- targets = Twitter::Action::Retweet.new.target_objects
25
- expect(targets).to be_empty
26
- end
27
- end
28
-
29
- describe "#targets" do
30
- it "returns a collection containing the retweeted user" do
31
- targets = Twitter::Action::Retweet.new(:targets => [{:id => 7505382}]).targets
32
- expect(targets).to be_an Array
33
- expect(targets.first).to be_a Twitter::User
34
- end
35
- it "is empty when not set" do
36
- targets = Twitter::Action::Retweet.new.targets
37
- expect(targets).to be_empty
38
- end
39
- end
40
-
41
- end
@@ -1,35 +0,0 @@
1
- require 'helper'
2
-
3
- describe Twitter::ActionFactory do
4
-
5
- describe ".new" do
6
- it "generates a Favorite" do
7
- action = Twitter::ActionFactory.fetch_or_new(:action => 'favorite')
8
- expect(action).to be_a Twitter::Action::Favorite
9
- end
10
- it "generates a Follow" do
11
- action = Twitter::ActionFactory.fetch_or_new(:action => 'follow')
12
- expect(action).to be_a Twitter::Action::Follow
13
- end
14
- it "generates a ListMemberAdded" do
15
- action = Twitter::ActionFactory.fetch_or_new(:action => 'list_member_added')
16
- expect(action).to be_a Twitter::Action::ListMemberAdded
17
- end
18
- it "generates a Mention" do
19
- action = Twitter::ActionFactory.fetch_or_new(:action => 'mention')
20
- expect(action).to be_a Twitter::Action::Mention
21
- end
22
- it "generates a Reply" do
23
- action = Twitter::ActionFactory.fetch_or_new(:action => 'reply')
24
- expect(action).to be_a Twitter::Action::Reply
25
- end
26
- it "generates a Retweet" do
27
- action = Twitter::ActionFactory.fetch_or_new(:action => 'retweet')
28
- expect(action).to be_a Twitter::Action::Retweet
29
- end
30
- it "raises an ArgumentError when action is not specified" do
31
- expect{Twitter::ActionFactory.fetch_or_new}.to raise_error ArgumentError
32
- end
33
- end
34
-
35
- end
@@ -1,16 +0,0 @@
1
- require 'helper'
2
-
3
- describe Twitter::Action do
4
-
5
- describe "#created_at" do
6
- it "returns a Time when created_at is set" do
7
- user = Twitter::User.new(:id => 7505382, :created_at => "Mon Jul 16 12:59:01 +0000 2007")
8
- expect(user.created_at).to be_a Time
9
- end
10
- it "returns nil when created_at is not set" do
11
- user = Twitter::User.new(:id => 7505382)
12
- expect(user.created_at).to be_nil
13
- end
14
- end
15
-
16
- end
@@ -1,285 +0,0 @@
1
- require 'helper'
2
-
3
- describe Twitter::API::Tweets do
4
-
5
- before do
6
- @client = Twitter::Client.new
7
- end
8
-
9
- describe "#retweets" do
10
- before do
11
- stub_get("/1.1/statuses/retweets/28561922516.json").to_return(:body => fixture("retweets.json"), :headers => {:content_type => "application/json; charset=utf-8"})
12
- end
13
- it "requests the correct resource" do
14
- @client.retweets(28561922516)
15
- expect(a_get("/1.1/statuses/retweets/28561922516.json")).to have_been_made
16
- end
17
- it "returns up to 100 of the first retweets of a given tweet" do
18
- tweets = @client.retweets(28561922516)
19
- expect(tweets).to be_an Array
20
- expect(tweets.first).to be_a Twitter::Tweet
21
- expect(tweets.first.text).to eq "RT @gruber: As for the Series, I'm for the Giants. Fuck Texas, fuck Nolan Ryan, fuck George Bush."
22
- end
23
- end
24
-
25
- describe "#retweeters_of" do
26
- context "with ids_only passed" do
27
- before do
28
- stub_get("/1.1/statuses/retweets/28561922516.json").to_return(:body => fixture("retweets.json"), :headers => {:content_type => "application/json; charset=utf-8"})
29
- end
30
- it "requests the correct resource" do
31
- @client.retweeters_of(28561922516, :ids_only => true)
32
- expect(a_get("/1.1/statuses/retweets/28561922516.json")).to have_been_made
33
- end
34
- it "returns an array of numeric user IDs of retweeters of a Tweet" do
35
- ids = @client.retweeters_of(28561922516, :ids_only => true)
36
- expect(ids).to be_an Array
37
- expect(ids.first).to eq 7505382
38
- end
39
- end
40
- context "without ids_only passed" do
41
- before do
42
- stub_get("/1.1/statuses/retweets/28561922516.json").to_return(:body => fixture("retweets.json"), :headers => {:content_type => "application/json; charset=utf-8"})
43
- end
44
- it "requests the correct resource" do
45
- @client.retweeters_of(28561922516)
46
- expect(a_get("/1.1/statuses/retweets/28561922516.json")).to have_been_made
47
- end
48
- it "returns an array of user of retweeters of a Tweet" do
49
- users = @client.retweeters_of(28561922516)
50
- expect(users).to be_an Array
51
- expect(users.first).to be_a Twitter::User
52
- expect(users.first.id).to eq 7505382
53
- end
54
- end
55
- end
56
-
57
- describe "#status" do
58
- before do
59
- stub_get("/1.1/statuses/show/25938088801.json").to_return(:body => fixture("status.json"), :headers => {:content_type => "application/json; charset=utf-8"})
60
- end
61
- it "requests the correct resource" do
62
- @client.status(25938088801)
63
- expect(a_get("/1.1/statuses/show/25938088801.json")).to have_been_made
64
- end
65
- it "returns a Tweet" do
66
- tweet = @client.status(25938088801)
67
- expect(tweet).to be_a Twitter::Tweet
68
- expect(tweet.text).to eq "The problem with your code is that it's doing exactly what you told it to do."
69
- end
70
- end
71
-
72
- describe "#statuses" do
73
- before do
74
- stub_get("/1.1/statuses/show/25938088801.json").to_return(:body => fixture("status.json"), :headers => {:content_type => "application/json; charset=utf-8"})
75
- end
76
- it "requests the correct resource" do
77
- @client.statuses(25938088801)
78
- expect(a_get("/1.1/statuses/show/25938088801.json")).to have_been_made
79
- end
80
- it "returns an array of Tweets" do
81
- tweets = @client.statuses(25938088801)
82
- expect(tweets).to be_an Array
83
- expect(tweets.first).to be_a Twitter::Tweet
84
- expect(tweets.first.text).to eq "The problem with your code is that it's doing exactly what you told it to do."
85
- end
86
- end
87
-
88
- describe "#status_destroy" do
89
- before do
90
- stub_post("/1.1/statuses/destroy/25938088801.json").to_return(:body => fixture("status.json"), :headers => {:content_type => "application/json; charset=utf-8"})
91
- end
92
- it "requests the correct resource" do
93
- @client.status_destroy(25938088801)
94
- expect(a_post("/1.1/statuses/destroy/25938088801.json")).to have_been_made
95
- end
96
- it "returns an array of Tweets" do
97
- tweets = @client.status_destroy(25938088801)
98
- expect(tweets).to be_an Array
99
- expect(tweets.first).to be_a Twitter::Tweet
100
- expect(tweets.first.text).to eq "The problem with your code is that it's doing exactly what you told it to do."
101
- end
102
- end
103
-
104
- describe "#tweet" do
105
- before do
106
- stub_post("/1.1/statuses/update.json").with(:body => {:status => "The problem with your code is that it's doing exactly what you told it to do."}).to_return(:body => fixture("status.json"), :headers => {:content_type => "application/json; charset=utf-8"})
107
- end
108
- it "requests the correct resource" do
109
- @client.update("The problem with your code is that it's doing exactly what you told it to do.")
110
- expect(a_post("/1.1/statuses/update.json").with(:body => {:status => "The problem with your code is that it's doing exactly what you told it to do."})).to have_been_made
111
- end
112
- it "returns a Tweet" do
113
- tweet = @client.update("The problem with your code is that it's doing exactly what you told it to do.")
114
- expect(tweet).to be_a Twitter::Tweet
115
- expect(tweet.text).to eq "The problem with your code is that it's doing exactly what you told it to do."
116
- end
117
- end
118
-
119
- describe "#retweet" do
120
- before do
121
- stub_post("/1.1/statuses/retweet/28561922516.json").to_return(:body => fixture("retweet.json"), :headers => {:content_type => "application/json; charset=utf-8"})
122
- end
123
- it "requests the correct resource" do
124
- @client.retweet(28561922516)
125
- expect(a_post("/1.1/statuses/retweet/28561922516.json")).to have_been_made
126
- end
127
- it "returns an array of Tweets with retweet details embedded" do
128
- tweets = @client.retweet(28561922516)
129
- expect(tweets).to be_an Array
130
- expect(tweets.first).to be_a Twitter::Tweet
131
- expect(tweets.first.text).to eq "As for the Series, I'm for the Giants. Fuck Texas, fuck Nolan Ryan, fuck George Bush."
132
- expect(tweets.first.retweeted_tweet.text).to eq "RT @gruber: As for the Series, I'm for the Giants. Fuck Texas, fuck Nolan Ryan, fuck George Bush."
133
- expect(tweets.first.retweeted_tweet.id).not_to eq tweets.first.id
134
- end
135
- context "already retweeted" do
136
- before do
137
- stub_post("/1.1/statuses/retweet/28561922516.json").to_return(:status => 403, :body => fixture("already_retweeted.json"), :headers => {:content_type => "application/json; charset=utf-8"})
138
- end
139
- it "does not raise an error" do
140
- expect{@client.retweet(28561922516)}.not_to raise_error
141
- end
142
- end
143
- end
144
-
145
- describe "#retweet!" do
146
- before do
147
- stub_post("/1.1/statuses/retweet/28561922516.json").to_return(:body => fixture("retweet.json"), :headers => {:content_type => "application/json; charset=utf-8"})
148
- end
149
- it "requests the correct resource" do
150
- @client.retweet!(28561922516)
151
- expect(a_post("/1.1/statuses/retweet/28561922516.json")).to have_been_made
152
- end
153
- it "returns an array of Tweets with retweet details embedded" do
154
- tweets = @client.retweet!(28561922516)
155
- expect(tweets).to be_an Array
156
- expect(tweets.first).to be_a Twitter::Tweet
157
- expect(tweets.first.text).to eq "As for the Series, I'm for the Giants. Fuck Texas, fuck Nolan Ryan, fuck George Bush."
158
- expect(tweets.first.retweeted_tweet.text).to eq "RT @gruber: As for the Series, I'm for the Giants. Fuck Texas, fuck Nolan Ryan, fuck George Bush."
159
- expect(tweets.first.retweeted_tweet.id).not_to eq tweets.first.id
160
- end
161
- context "fobidden" do
162
- before do
163
- stub_post("/1.1/statuses/retweet/28561922516.json").to_return(:status => 403, :headers => {:content_type => "application/json; charset=utf-8"})
164
- end
165
- it "raises a Forbidden error" do
166
- expect{@client.retweet!(28561922516)}.to raise_error Twitter::Error::Forbidden
167
- end
168
- end
169
- context "already retweeted" do
170
- before do
171
- stub_post("/1.1/statuses/retweet/28561922516.json").to_return(:status => 403, :body => fixture("already_retweeted.json"), :headers => {:content_type => "application/json; charset=utf-8"})
172
- end
173
- it "raises an AlreadyRetweeted error" do
174
- expect{@client.retweet!(28561922516)}.to raise_error Twitter::Error::AlreadyRetweeted
175
- end
176
- end
177
- end
178
-
179
- describe "#update_with_media" do
180
- before do
181
- stub_post("/1.1/statuses/update_with_media.json").to_return(:body => fixture("status.json"), :headers => {:content_type => "application/json; charset=utf-8"})
182
- end
183
- context "a gif image" do
184
- it "requests the correct resource" do
185
- @client.update_with_media("The problem with your code is that it's doing exactly what you told it to do.", fixture("pbjt.gif"))
186
- expect(a_post("/1.1/statuses/update_with_media.json")).to have_been_made
187
- end
188
- it "returns a Tweet" do
189
- tweet = @client.update_with_media("The problem with your code is that it's doing exactly what you told it to do.", fixture("pbjt.gif"))
190
- expect(tweet).to be_a Twitter::Tweet
191
- expect(tweet.text).to eq "The problem with your code is that it's doing exactly what you told it to do."
192
- end
193
- end
194
- context "a jpe image" do
195
- it "requests the correct resource" do
196
- @client.update_with_media("You always have options", fixture("wildcomet2.jpe"))
197
- expect(a_post("/1.1/statuses/update_with_media.json")).to have_been_made
198
- end
199
- end
200
- context "a jpeg image" do
201
- it "requests the correct resource" do
202
- @client.update_with_media("You always have options", fixture("me.jpeg"))
203
- expect(a_post("/1.1/statuses/update_with_media.json")).to have_been_made
204
- end
205
- end
206
- context "a png image" do
207
- it "requests the correct resource" do
208
- @client.update_with_media("You always have options", fixture("we_concept_bg2.png"))
209
- expect(a_post("/1.1/statuses/update_with_media.json")).to have_been_made
210
- end
211
- end
212
- context "a Tempfile" do
213
- it "requests the correct resource" do
214
- @client.update_with_media("You always have options", Tempfile.new("tmp"))
215
- expect(a_post("/1.1/statuses/update_with_media.json")).to have_been_made
216
- end
217
- end
218
- end
219
-
220
- describe "#oembed" do
221
- before do
222
- stub_get("/1.1/statuses/oembed.json").with(:query => {:id => "25938088801"}).to_return(:body => fixture("oembed.json"), :headers => {:content_type => "application/json; charset=utf-8"})
223
- stub_get("/1.1/statuses/oembed.json").with(:query => {:url => "https://twitter.com/sferik/status/25938088801"}).to_return(:body => fixture("oembed.json"), :headers => {:content_type => "application/json; charset=utf-8"})
224
- end
225
- it "requests the correct resource" do
226
- @client.oembed(25938088801)
227
- expect(a_get("/1.1/statuses/oembed.json").with(:query => {:id => "25938088801"})).to have_been_made
228
- end
229
- it "requests the correct resource when a URL is given" do
230
- @client.oembed("https://twitter.com/sferik/status/25938088801")
231
- expect(a_get("/1.1/statuses/oembed.json").with(:query => {:url => "https://twitter.com/sferik/status/25938088801"}))
232
- end
233
- it "returns an array of OEmbed instances" do
234
- oembed = @client.oembed(25938088801)
235
- expect(oembed).to be_a Twitter::OEmbed
236
- end
237
- end
238
-
239
- describe "#oembeds" do
240
- before do
241
- stub_get("/1.1/statuses/oembed.json").with(:query => {:id => "25938088801"}).to_return(:body => fixture("oembed.json"), :headers => {:content_type => "application/json; charset=utf-8"})
242
- stub_get("/1.1/statuses/oembed.json").with(:query => {:url => "https://twitter.com/sferik/status/25938088801"}).to_return(:body => fixture("oembed.json"), :headers => {:content_type => "application/json; charset=utf-8"})
243
- end
244
- it "requests the correct resource" do
245
- @client.oembeds(25938088801)
246
- expect(a_get("/1.1/statuses/oembed.json").with(:query => {:id => "25938088801"})).to have_been_made
247
- end
248
- it "requests the correct resource when a URL is given" do
249
- @client.oembeds("https://twitter.com/sferik/status/25938088801")
250
- expect(a_get("/1.1/statuses/oembed.json").with(:query => {:url => "https://twitter.com/sferik/status/25938088801"})).to have_been_made
251
- end
252
- it "returns an array of OEmbed instances" do
253
- oembeds = @client.oembeds(25938088801)
254
- expect(oembeds).to be_an Array
255
- expect(oembeds.first).to be_a Twitter::OEmbed
256
- end
257
- end
258
-
259
- describe "#retweeters_ids" do
260
- before do
261
- stub_get("/1.1/statuses/retweeters/ids.json").with(:query => {:id => "25938088801", :cursor => "-1"}).to_return(:body => fixture("ids_list.json"), :headers => {:content_type => "application/json; charset=utf-8"})
262
- end
263
- it "requests the correct resource" do
264
- @client.retweeters_ids(25938088801)
265
- expect(a_get("/1.1/statuses/retweeters/ids.json").with(:query => {:id => "25938088801", :cursor => "-1"})).to have_been_made
266
- end
267
- it "returns a collection of user IDs belonging to users who have retweeted the specified Tweet" do
268
- retweeters_ids = @client.retweeters_ids(25938088801)
269
- expect(retweeters_ids).to be_a Twitter::Cursor
270
- expect(retweeters_ids.ids).to be_an Array
271
- expect(retweeters_ids.ids.first).to eq 14100886
272
- end
273
- context "with all" do
274
- before do
275
- stub_get("/1.1/statuses/retweeters/ids.json").with(:query => {:id => "25938088801", :cursor => "1305102810874389703"}).to_return(:body => fixture("ids_list2.json"), :headers => {:content_type => "application/json; charset=utf-8"})
276
- end
277
- it "requests the correct resource" do
278
- @client.retweeters_ids(25938088801).all
279
- expect(a_get("/1.1/statuses/retweeters/ids.json").with(:query => {:id => "25938088801", :cursor => "-1"})).to have_been_made
280
- expect(a_get("/1.1/statuses/retweeters/ids.json").with(:query => {:id => "25938088801", :cursor => "1305102810874389703"})).to have_been_made
281
- end
282
- end
283
- end
284
-
285
- end