twitter 4.8.1 → 5.0.0.rc.1

Sign up to get free protection for your applications and to get access to all the features.
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