twitter 4.8.1 → 5.0.0

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 (215) hide show
  1. data/CHANGELOG.md +36 -0
  2. data/CONTRIBUTING.md +13 -15
  3. data/LICENSE.md +1 -1
  4. data/README.md +401 -261
  5. data/Rakefile +6 -0
  6. data/lib/twitter/arguments.rb +14 -0
  7. data/lib/twitter/base.rb +109 -89
  8. data/lib/twitter/client.rb +38 -115
  9. data/lib/twitter/configuration.rb +5 -2
  10. data/lib/twitter/core_ext/kernel.rb +5 -1
  11. data/lib/twitter/creatable.rb +7 -4
  12. data/lib/twitter/cursor.rb +57 -45
  13. data/lib/twitter/direct_message.rb +2 -11
  14. data/lib/twitter/entity/uri.rb +14 -0
  15. data/lib/twitter/enumerable.rb +15 -0
  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/error.rb +65 -14
  31. data/lib/twitter/factory.rb +13 -12
  32. data/lib/twitter/geo.rb +2 -7
  33. data/lib/twitter/geo_factory.rb +11 -7
  34. data/lib/twitter/geo_results.rb +40 -0
  35. data/lib/twitter/identity.rb +4 -34
  36. data/lib/twitter/list.rb +21 -4
  37. data/lib/twitter/media/photo.rb +6 -4
  38. data/lib/twitter/media_factory.rb +11 -7
  39. data/lib/twitter/null_object.rb +25 -0
  40. data/lib/twitter/oembed.rb +3 -2
  41. data/lib/twitter/place.rb +15 -15
  42. data/lib/twitter/profile_banner.rb +3 -2
  43. data/lib/twitter/rate_limit.rb +4 -17
  44. data/lib/twitter/relationship.rb +2 -19
  45. data/lib/twitter/rest/api/direct_messages.rb +138 -0
  46. data/lib/twitter/rest/api/favorites.rb +115 -0
  47. data/lib/twitter/rest/api/friends_and_followers.rb +287 -0
  48. data/lib/twitter/rest/api/help.rb +58 -0
  49. data/lib/twitter/rest/api/lists.rb +498 -0
  50. data/lib/twitter/rest/api/oauth.rb +62 -0
  51. data/lib/twitter/rest/api/places_and_geo.rb +86 -0
  52. data/lib/twitter/rest/api/saved_searches.rb +93 -0
  53. data/lib/twitter/rest/api/search.rb +37 -0
  54. data/lib/twitter/rest/api/spam_reporting.rb +29 -0
  55. data/lib/twitter/rest/api/suggested_users.rb +51 -0
  56. data/lib/twitter/rest/api/timelines.rb +202 -0
  57. data/lib/twitter/rest/api/trends.rb +58 -0
  58. data/lib/twitter/rest/api/tweets.rb +291 -0
  59. data/lib/twitter/rest/api/undocumented.rb +52 -0
  60. data/lib/twitter/rest/api/users.rb +383 -0
  61. data/lib/twitter/rest/api/utils.rb +246 -0
  62. data/lib/twitter/rest/client.rb +175 -0
  63. data/lib/twitter/rest/request/multipart_with_file.rb +36 -0
  64. data/lib/twitter/rest/response/parse_error_json.rb +15 -0
  65. data/lib/twitter/rest/response/parse_json.rb +31 -0
  66. data/lib/twitter/{response → rest/response}/raise_error.rb +8 -11
  67. data/lib/twitter/search_results.rb +37 -21
  68. data/lib/twitter/settings.rb +1 -6
  69. data/lib/twitter/size.rb +2 -15
  70. data/lib/twitter/streaming/client.rb +89 -0
  71. data/lib/twitter/streaming/connection.rb +22 -0
  72. data/lib/twitter/streaming/event.rb +35 -0
  73. data/lib/twitter/streaming/friend_list.rb +13 -0
  74. data/lib/twitter/streaming/message_parser.rb +18 -0
  75. data/lib/twitter/streaming/response.rb +34 -0
  76. data/lib/twitter/suggestion.rb +5 -8
  77. data/lib/twitter/token.rb +11 -1
  78. data/lib/twitter/trend.rb +4 -8
  79. data/lib/twitter/trend_results.rb +65 -0
  80. data/lib/twitter/tweet.rb +43 -92
  81. data/lib/twitter/user.rb +72 -47
  82. data/lib/twitter/version.rb +4 -4
  83. data/lib/twitter.rb +4 -39
  84. data/spec/fixtures/already_posted.json +1 -0
  85. data/spec/fixtures/ids_list.json +1 -1
  86. data/spec/fixtures/ids_list2.json +1 -1
  87. data/spec/fixtures/request_token.txt +6 -0
  88. data/spec/fixtures/search.json +1 -1
  89. data/spec/fixtures/search_malformed.json +1 -1
  90. data/spec/fixtures/track_streaming.json +3 -0
  91. data/spec/fixtures/track_streaming_user.json +5 -0
  92. data/spec/helper.rb +8 -13
  93. data/spec/twitter/base_spec.rb +13 -103
  94. data/spec/twitter/basic_user_spec.rb +3 -3
  95. data/spec/twitter/configuration_spec.rb +1 -1
  96. data/spec/twitter/cursor_spec.rb +17 -35
  97. data/spec/twitter/direct_message_spec.rb +44 -11
  98. data/spec/twitter/entity/uri_spec.rb +75 -0
  99. data/spec/twitter/error_spec.rb +59 -11
  100. data/spec/twitter/geo/point_spec.rb +6 -6
  101. data/spec/twitter/geo/polygon_spec.rb +5 -5
  102. data/spec/twitter/geo_factory_spec.rb +4 -4
  103. data/spec/twitter/geo_results_spec.rb +35 -0
  104. data/spec/twitter/geo_spec.rb +6 -6
  105. data/spec/twitter/identifiable_spec.rb +5 -26
  106. data/spec/twitter/list_spec.rb +54 -11
  107. data/spec/twitter/media/photo_spec.rb +122 -6
  108. data/spec/twitter/media_factory_spec.rb +3 -3
  109. data/spec/twitter/null_object_spec.rb +27 -0
  110. data/spec/twitter/oembed_spec.rb +69 -45
  111. data/spec/twitter/place_spec.rb +84 -28
  112. data/spec/twitter/profile_banner_spec.rb +1 -1
  113. data/spec/twitter/rate_limit_spec.rb +8 -25
  114. data/spec/twitter/relationship_spec.rb +26 -12
  115. data/spec/twitter/{api → rest/api}/direct_messages_spec.rb +28 -15
  116. data/spec/twitter/{api → rest/api}/favorites_spec.rb +80 -7
  117. data/spec/twitter/{api → rest/api}/friends_and_followers_spec.rb +121 -152
  118. data/spec/twitter/{api → rest/api}/geo_spec.rb +9 -23
  119. data/spec/twitter/{api → rest/api}/help_spec.rb +6 -6
  120. data/spec/twitter/{api → rest/api}/lists_spec.rb +116 -95
  121. data/spec/twitter/{api → rest/api}/oauth_spec.rb +21 -10
  122. data/spec/twitter/{api → rest/api}/saved_searches_spec.rb +13 -13
  123. data/spec/twitter/{api → rest/api}/search_spec.rb +8 -9
  124. data/spec/twitter/{api → rest/api}/spam_reporting_spec.rb +3 -3
  125. data/spec/twitter/{api → rest/api}/suggested_users_spec.rb +5 -5
  126. data/spec/twitter/{api → rest/api}/timelines_spec.rb +9 -9
  127. data/spec/twitter/{api → rest/api}/trends_spec.rb +6 -6
  128. data/spec/twitter/rest/api/tweets_spec.rb +503 -0
  129. data/spec/twitter/{api → rest/api}/undocumented_spec.rb +19 -45
  130. data/spec/twitter/{api → rest/api}/users_spec.rb +64 -39
  131. data/spec/twitter/rest/client_spec.rb +193 -0
  132. data/spec/twitter/saved_search_spec.rb +14 -3
  133. data/spec/twitter/search_results_spec.rb +32 -45
  134. data/spec/twitter/settings_spec.rb +17 -6
  135. data/spec/twitter/size_spec.rb +5 -15
  136. data/spec/twitter/source_user_spec.rb +3 -3
  137. data/spec/twitter/streaming/client_spec.rb +92 -0
  138. data/spec/twitter/streaming/event_spec.rb +45 -0
  139. data/spec/twitter/suggestion_spec.rb +5 -15
  140. data/spec/twitter/target_user_spec.rb +3 -3
  141. data/spec/twitter/token_spec.rb +16 -0
  142. data/spec/twitter/trend_results_spec.rb +89 -0
  143. data/spec/twitter/trend_spec.rb +26 -13
  144. data/spec/twitter/tweet_spec.rb +137 -124
  145. data/spec/twitter/user_spec.rb +139 -80
  146. data/spec/twitter_spec.rb +0 -119
  147. data/twitter.gemspec +12 -6
  148. data.tar.gz.sig +0 -0
  149. metadata +197 -138
  150. metadata.gz.sig +0 -0
  151. data/lib/twitter/action/favorite.rb +0 -19
  152. data/lib/twitter/action/follow.rb +0 -30
  153. data/lib/twitter/action/list_member_added.rb +0 -39
  154. data/lib/twitter/action/mention.rb +0 -46
  155. data/lib/twitter/action/reply.rb +0 -27
  156. data/lib/twitter/action/retweet.rb +0 -27
  157. data/lib/twitter/action/tweet.rb +0 -20
  158. data/lib/twitter/action_factory.rb +0 -22
  159. data/lib/twitter/api/arguments.rb +0 -13
  160. data/lib/twitter/api/direct_messages.rb +0 -148
  161. data/lib/twitter/api/favorites.rb +0 -126
  162. data/lib/twitter/api/friends_and_followers.rb +0 -334
  163. data/lib/twitter/api/help.rb +0 -64
  164. data/lib/twitter/api/lists.rb +0 -618
  165. data/lib/twitter/api/oauth.rb +0 -44
  166. data/lib/twitter/api/places_and_geo.rb +0 -121
  167. data/lib/twitter/api/saved_searches.rb +0 -99
  168. data/lib/twitter/api/search.rb +0 -37
  169. data/lib/twitter/api/spam_reporting.rb +0 -30
  170. data/lib/twitter/api/suggested_users.rb +0 -55
  171. data/lib/twitter/api/timelines.rb +0 -214
  172. data/lib/twitter/api/trends.rb +0 -63
  173. data/lib/twitter/api/tweets.rb +0 -304
  174. data/lib/twitter/api/undocumented.rb +0 -97
  175. data/lib/twitter/api/users.rb +0 -439
  176. data/lib/twitter/api/utils.rb +0 -187
  177. data/lib/twitter/configurable.rb +0 -96
  178. data/lib/twitter/default.rb +0 -102
  179. data/lib/twitter/entity/url.rb +0 -9
  180. data/lib/twitter/error/client_error.rb +0 -35
  181. data/lib/twitter/error/decode_error.rb +0 -9
  182. data/lib/twitter/error/identity_map_key_error.rb +0 -9
  183. data/lib/twitter/error/server_error.rb +0 -28
  184. data/lib/twitter/exceptable.rb +0 -36
  185. data/lib/twitter/identity_map.rb +0 -22
  186. data/lib/twitter/request/multipart_with_file.rb +0 -34
  187. data/lib/twitter/response/parse_json.rb +0 -25
  188. data/spec/fixtures/about_me.json +0 -1
  189. data/spec/fixtures/activity_summary.json +0 -1
  190. data/spec/fixtures/bad_gateway.json +0 -1
  191. data/spec/fixtures/bad_request.json +0 -1
  192. data/spec/fixtures/by_friends.json +0 -1
  193. data/spec/fixtures/end_session.json +0 -1
  194. data/spec/fixtures/forbidden.json +0 -1
  195. data/spec/fixtures/internal_server_error.json +0 -1
  196. data/spec/fixtures/not_acceptable.json +0 -1
  197. data/spec/fixtures/phoenix_search.phoenix +0 -1
  198. data/spec/fixtures/resolve.json +0 -1
  199. data/spec/fixtures/service_unavailable.json +0 -1
  200. data/spec/fixtures/totals.json +0 -1
  201. data/spec/fixtures/trends.json +0 -1
  202. data/spec/fixtures/unauthorized.json +0 -1
  203. data/spec/fixtures/video_facets.json +0 -1
  204. data/spec/twitter/action/favorite_spec.rb +0 -29
  205. data/spec/twitter/action/follow_spec.rb +0 -29
  206. data/spec/twitter/action/list_member_added_spec.rb +0 -41
  207. data/spec/twitter/action/mention_spec.rb +0 -52
  208. data/spec/twitter/action/reply_spec.rb +0 -41
  209. data/spec/twitter/action/retweet_spec.rb +0 -41
  210. data/spec/twitter/action_factory_spec.rb +0 -35
  211. data/spec/twitter/action_spec.rb +0 -16
  212. data/spec/twitter/api/tweets_spec.rb +0 -285
  213. data/spec/twitter/client_spec.rb +0 -223
  214. data/spec/twitter/error/client_error_spec.rb +0 -23
  215. data/spec/twitter/error/server_error_spec.rb +0 -20
@@ -1,9 +1,9 @@
1
1
  require 'helper'
2
2
 
3
- describe Twitter::API::OAuth do
3
+ describe Twitter::REST::API::OAuth do
4
4
 
5
5
  before do
6
- @client = Twitter::Client.new(:consumer_key => 'CK', :consumer_secret => 'CS')
6
+ @client = Twitter::REST::Client.new(:consumer_key => "CK", :consumer_secret => "CS")
7
7
  end
8
8
 
9
9
  describe "#token" do
@@ -18,15 +18,12 @@ describe Twitter::API::OAuth do
18
18
  end
19
19
  it "requests with the correct headers" do
20
20
  @client.token
21
- expect(a_request(:post, @oauth2_token_url).with(:headers => {
22
- :content_type => "application/x-www-form-urlencoded; charset=UTF-8",
23
- :accept => "*/*"
24
- })).to have_been_made
21
+ expect(a_request(:post, @oauth2_token_url).with(:headers => {:content_type => "application/x-www-form-urlencoded; charset=UTF-8", :accept => "*/*"})).to have_been_made
25
22
  end
26
23
  it "returns the bearer token" do
27
24
  bearer_token = @client.token
28
- expect(bearer_token.access_token).to eq "AAAA%2FAAA%3DAAAAAAAA"
29
- expect(bearer_token.token_type).to eq "bearer"
25
+ expect(bearer_token.access_token).to eq("AAAA%2FAAA%3DAAAAAAAA")
26
+ expect(bearer_token.token_type).to eq("bearer")
30
27
  end
31
28
  end
32
29
 
@@ -41,8 +38,8 @@ describe Twitter::API::OAuth do
41
38
  end
42
39
  it "returns the invalidated token" do
43
40
  token = @client.invalidate_token("AAAA%2FAAA%3DAAAAAAAA")
44
- expect(token.access_token).to eq "AAAA%2FAAA%3DAAAAAAAA"
45
- expect(token.token_type).to eq nil
41
+ expect(token.access_token).to eq("AAAA%2FAAA%3DAAAAAAAA")
42
+ expect(token.token_type).to be_nil
46
43
  end
47
44
  context "with a token" do
48
45
  it "requests the correct resource" do
@@ -53,4 +50,18 @@ describe Twitter::API::OAuth do
53
50
  end
54
51
  end
55
52
 
53
+ describe "#reverse_token" do
54
+ before do
55
+ # WebMock treats Basic Auth differently so we have to chack against the full URL with credentials.
56
+ @oauth_request_token_url = "https://api.twitter.com/oauth/request_token?x_auth_mode=reverse_auth"
57
+ stub_request(:post, @oauth_request_token_url).to_return(:body => fixture('request_token.txt'), :headers => {:content_type => "text/html; charset=utf-8"})
58
+ end
59
+ it "requests the correct resource" do
60
+ @client.reverse_token
61
+ expect(a_request(:post, @oauth_request_token_url).with(:params => {:x_auth_mode => "reverse_auth"})).to have_been_made
62
+ end
63
+ it "requests the correct resource" do
64
+ expect(@client.reverse_token).to eql fixture('request_token.txt').read
65
+ end
66
+ end
56
67
  end
@@ -1,9 +1,9 @@
1
1
  require 'helper'
2
2
 
3
- describe Twitter::API::SavedSearches do
3
+ describe Twitter::REST::API::SavedSearches do
4
4
 
5
5
  before do
6
- @client = Twitter::Client.new
6
+ @client = Twitter::REST::Client.new(:consumer_key => "CK", :consumer_secret => "CS", :access_token => "AT", :access_token_secret => "AS")
7
7
  end
8
8
 
9
9
  describe "#saved_searches" do
@@ -19,7 +19,7 @@ describe Twitter::API::SavedSearches do
19
19
  saved_searches = @client.saved_searches(16129012)
20
20
  expect(saved_searches).to be_an Array
21
21
  expect(saved_searches.first).to be_a Twitter::SavedSearch
22
- expect(saved_searches.first.name).to eq "twitter"
22
+ expect(saved_searches.first.name).to eq("twitter")
23
23
  end
24
24
  end
25
25
  context "without ids passed" do
@@ -34,7 +34,7 @@ describe Twitter::API::SavedSearches do
34
34
  saved_searches = @client.saved_searches
35
35
  expect(saved_searches).to be_an Array
36
36
  expect(saved_searches.first).to be_a Twitter::SavedSearch
37
- expect(saved_searches.first.name).to eq "twitter"
37
+ expect(saved_searches.first.name).to eq("twitter")
38
38
  end
39
39
  end
40
40
  end
@@ -50,38 +50,38 @@ describe Twitter::API::SavedSearches do
50
50
  it "returns a saved search" do
51
51
  saved_search = @client.saved_search(16129012)
52
52
  expect(saved_search).to be_a Twitter::SavedSearch
53
- expect(saved_search.name).to eq "twitter"
53
+ expect(saved_search.name).to eq("twitter")
54
54
  end
55
55
  end
56
56
 
57
- describe "#saved_search_create" do
57
+ describe "#create_saved_search" do
58
58
  before do
59
59
  stub_post("/1.1/saved_searches/create.json").with(:body => {:query => "twitter"}).to_return(:body => fixture("saved_search.json"), :headers => {:content_type => "application/json; charset=utf-8"})
60
60
  end
61
61
  it "requests the correct resource" do
62
- @client.saved_search_create("twitter")
62
+ @client.create_saved_search("twitter")
63
63
  expect(a_post("/1.1/saved_searches/create.json").with(:body => {:query => "twitter"})).to have_been_made
64
64
  end
65
65
  it "returns the created saved search" do
66
- saved_search = @client.saved_search_create("twitter")
66
+ saved_search = @client.create_saved_search("twitter")
67
67
  expect(saved_search).to be_a Twitter::SavedSearch
68
- expect(saved_search.name).to eq "twitter"
68
+ expect(saved_search.name).to eq("twitter")
69
69
  end
70
70
  end
71
71
 
72
- describe "#saved_search_destroy" do
72
+ describe "#destroy_saved_search" do
73
73
  before do
74
74
  stub_post("/1.1/saved_searches/destroy/16129012.json").to_return(:body => fixture("saved_search.json"), :headers => {:content_type => "application/json; charset=utf-8"})
75
75
  end
76
76
  it "requests the correct resource" do
77
- @client.saved_search_destroy(16129012)
77
+ @client.destroy_saved_search(16129012)
78
78
  expect(a_post("/1.1/saved_searches/destroy/16129012.json")).to have_been_made
79
79
  end
80
80
  it "returns an array of deleted saved searches" do
81
- saved_searches = @client.saved_search_destroy(16129012)
81
+ saved_searches = @client.destroy_saved_search(16129012)
82
82
  expect(saved_searches).to be_an Array
83
83
  expect(saved_searches.first).to be_a Twitter::SavedSearch
84
- expect(saved_searches.first.name).to eq "twitter"
84
+ expect(saved_searches.first.name).to eq("twitter")
85
85
  end
86
86
  end
87
87
 
@@ -1,9 +1,9 @@
1
1
  require 'helper'
2
2
 
3
- describe Twitter::API::Search do
3
+ describe Twitter::REST::API::Search do
4
4
 
5
5
  before do
6
- @client = Twitter::Client.new
6
+ @client = Twitter::REST::Client.new(:consumer_key => "CK", :consumer_secret => "CS", :access_token => "AT", :access_token_secret => "AS")
7
7
  end
8
8
 
9
9
  describe "#search" do
@@ -17,24 +17,23 @@ describe Twitter::API::Search do
17
17
  it "returns recent Tweets related to a query with images and videos embedded" do
18
18
  search = @client.search("twitter")
19
19
  expect(search).to be_a Twitter::SearchResults
20
- expect(search.results).to be_an Array
21
- expect(search.results.first).to be_a Twitter::Tweet
22
- expect(search.results.first.text).to eq "Bubble Mailer #freebandnames"
20
+ expect(search.first).to be_a Twitter::Tweet
21
+ expect(search.first.text).to eq("Bubble Mailer #freebandnames")
23
22
  end
24
23
  it "returns the max_id value for a search result" do
25
24
  search = @client.search("twitter")
26
- expect(search.max_id).to eq 250126199840518145
25
+ expect(search.max_id).to eq(250126199840518145)
27
26
  end
28
27
 
29
28
  context "when search API responds a malformed result" do
30
29
  before do
31
- stub_get("/1.1/search/tweets.json").with(:query => {:q => "twitter"}).to_return(:body => fixture("/search_malformed.json"), :headers => {:content_type => "application/json; charset=utf-8"})
30
+ stub_get("/1.1/search/tweets.json").with(:query => {:q => "twitter"}).to_return(:body => fixture("search_malformed.json"), :headers => {:content_type => "application/json; charset=utf-8"})
32
31
  end
33
32
 
34
33
  it "returns an empty array" do
35
34
  search = @client.search("twitter")
36
- expect(search.results).to be_an Array
37
- expect(search.results).to be_empty
35
+ expect(search.to_a).to be_an Array
36
+ expect(search.to_a).to be_empty
38
37
  end
39
38
  end
40
39
  end
@@ -1,9 +1,9 @@
1
1
  require 'helper'
2
2
 
3
- describe Twitter::API::SpamReporting do
3
+ describe Twitter::REST::API::SpamReporting do
4
4
 
5
5
  before do
6
- @client = Twitter::Client.new
6
+ @client = Twitter::REST::Client.new(:consumer_key => "CK", :consumer_secret => "CS", :access_token => "AT", :access_token_secret => "AS")
7
7
  end
8
8
 
9
9
  describe "#report_spam" do
@@ -18,7 +18,7 @@ describe Twitter::API::SpamReporting do
18
18
  users = @client.report_spam("sferik")
19
19
  expect(users).to be_an Array
20
20
  expect(users.first).to be_a Twitter::User
21
- expect(users.first.id).to eq 7505382
21
+ expect(users.first.id).to eq(7505382)
22
22
  end
23
23
  end
24
24
 
@@ -1,9 +1,9 @@
1
1
  require 'helper'
2
2
 
3
- describe Twitter::API::SuggestedUsers do
3
+ describe Twitter::REST::API::SuggestedUsers do
4
4
 
5
5
  before do
6
- @client = Twitter::Client.new
6
+ @client = Twitter::REST::Client.new(:consumer_key => "CK", :consumer_secret => "CS", :access_token => "AT", :access_token_secret => "AS")
7
7
  end
8
8
 
9
9
  describe "#suggestions" do
@@ -18,7 +18,7 @@ describe Twitter::API::SuggestedUsers do
18
18
  it "returns the users in a given category of the Twitter suggested user list" do
19
19
  suggestion = @client.suggestions("art-design")
20
20
  expect(suggestion).to be_a Twitter::Suggestion
21
- expect(suggestion.name).to eq "Art & Design"
21
+ expect(suggestion.name).to eq("Art & Design")
22
22
  expect(suggestion.users).to be_an Array
23
23
  expect(suggestion.users.first).to be_a Twitter::User
24
24
  end
@@ -35,7 +35,7 @@ describe Twitter::API::SuggestedUsers do
35
35
  suggestions = @client.suggestions
36
36
  expect(suggestions).to be_an Array
37
37
  expect(suggestions.first).to be_a Twitter::Suggestion
38
- expect(suggestions.first.name).to eq "Art & Design"
38
+ expect(suggestions.first.name).to eq("Art & Design")
39
39
  end
40
40
  end
41
41
  end
@@ -52,7 +52,7 @@ describe Twitter::API::SuggestedUsers do
52
52
  suggest_users = @client.suggest_users("art-design")
53
53
  expect(suggest_users).to be_an Array
54
54
  expect(suggest_users.first).to be_a Twitter::User
55
- expect(suggest_users.first.id).to eq 13
55
+ expect(suggest_users.first.id).to eq(13)
56
56
  end
57
57
  end
58
58
 
@@ -1,9 +1,9 @@
1
1
  require 'helper'
2
2
 
3
- describe Twitter::API::Timelines do
3
+ describe Twitter::REST::API::Timelines do
4
4
 
5
5
  before do
6
- @client = Twitter::Client.new
6
+ @client = Twitter::REST::Client.new(:consumer_key => "CK", :consumer_secret => "CS", :access_token => "AT", :access_token_secret => "AS")
7
7
  end
8
8
 
9
9
  describe "#mentions_timeline" do
@@ -18,7 +18,7 @@ describe Twitter::API::Timelines do
18
18
  tweets = @client.mentions_timeline
19
19
  expect(tweets).to be_an Array
20
20
  expect(tweets.first).to be_a Twitter::Tweet
21
- expect(tweets.first.text).to eq "Happy Birthday @imdane. Watch out for those @rally pranksters!"
21
+ expect(tweets.first.text).to eq("Happy Birthday @imdane. Watch out for those @rally pranksters!")
22
22
  end
23
23
  end
24
24
 
@@ -35,7 +35,7 @@ describe Twitter::API::Timelines do
35
35
  tweets = @client.user_timeline("sferik")
36
36
  expect(tweets).to be_an Array
37
37
  expect(tweets.first).to be_a Twitter::Tweet
38
- expect(tweets.first.text).to eq "Happy Birthday @imdane. Watch out for those @rally pranksters!"
38
+ expect(tweets.first.text).to eq("Happy Birthday @imdane. Watch out for those @rally pranksters!")
39
39
  end
40
40
  end
41
41
  context "without a screen name passed" do
@@ -63,7 +63,7 @@ describe Twitter::API::Timelines do
63
63
  tweets = @client.retweeted_by_user("sferik")
64
64
  expect(tweets).to be_an Array
65
65
  expect(tweets.first).to be_a Twitter::Tweet
66
- expect(tweets.first.text).to eq "RT @olivercameron: Mosaic looks cool: http://t.co/A8013C9k"
66
+ expect(tweets.first.text).to eq("RT @olivercameron: Mosaic looks cool: http://t.co/A8013C9k")
67
67
  end
68
68
  end
69
69
 
@@ -81,7 +81,7 @@ describe Twitter::API::Timelines do
81
81
  tweets = @client.retweeted_by_me
82
82
  expect(tweets).to be_an Array
83
83
  expect(tweets.first).to be_a Twitter::Tweet
84
- expect(tweets.first.text).to eq "RT @olivercameron: Mosaic looks cool: http://t.co/A8013C9k"
84
+ expect(tweets.first.text).to eq("RT @olivercameron: Mosaic looks cool: http://t.co/A8013C9k")
85
85
  end
86
86
  end
87
87
 
@@ -97,7 +97,7 @@ describe Twitter::API::Timelines do
97
97
  tweets = @client.home_timeline
98
98
  expect(tweets).to be_an Array
99
99
  expect(tweets.first).to be_a Twitter::Tweet
100
- expect(tweets.first.text).to eq "Happy Birthday @imdane. Watch out for those @rally pranksters!"
100
+ expect(tweets.first.text).to eq("Happy Birthday @imdane. Watch out for those @rally pranksters!")
101
101
  end
102
102
  end
103
103
 
@@ -115,7 +115,7 @@ describe Twitter::API::Timelines do
115
115
  tweets = @client.retweeted_to_me
116
116
  expect(tweets).to be_an Array
117
117
  expect(tweets.first).to be_a Twitter::Tweet
118
- expect(tweets.first.text).to eq "RT @olivercameron: Mosaic looks cool: http://t.co/A8013C9k"
118
+ expect(tweets.first.text).to eq("RT @olivercameron: Mosaic looks cool: http://t.co/A8013C9k")
119
119
  end
120
120
  end
121
121
 
@@ -131,7 +131,7 @@ describe Twitter::API::Timelines do
131
131
  tweets = @client.retweets_of_me
132
132
  expect(tweets).to be_an Array
133
133
  expect(tweets.first).to be_a Twitter::Tweet
134
- expect(tweets.first.text).to eq "Happy Birthday @imdane. Watch out for those @rally pranksters!"
134
+ expect(tweets.first.text).to eq("Happy Birthday @imdane. Watch out for those @rally pranksters!")
135
135
  end
136
136
  end
137
137
 
@@ -1,9 +1,9 @@
1
1
  require 'helper'
2
2
 
3
- describe Twitter::API::Trends do
3
+ describe Twitter::REST::API::Trends do
4
4
 
5
5
  before do
6
- @client = Twitter::Client.new
6
+ @client = Twitter::REST::Client.new(:consumer_key => "CK", :consumer_secret => "CS", :access_token => "AT", :access_token_secret => "AS")
7
7
  end
8
8
 
9
9
  describe "#trends" do
@@ -17,9 +17,9 @@ describe Twitter::API::Trends do
17
17
  end
18
18
  it "returns the top 10 trending topics for a specific WOEID" do
19
19
  matching_trends = @client.trends(2487956)
20
- expect(matching_trends).to be_an Array
20
+ expect(matching_trends).to be_a Twitter::TrendResults
21
21
  expect(matching_trends.first).to be_a Twitter::Trend
22
- expect(matching_trends.first.name).to eq "#sevenwordsaftersex"
22
+ expect(matching_trends.first.name).to eq("#sevenwordsaftersex")
23
23
  end
24
24
  end
25
25
  context "without arguments passed" do
@@ -45,7 +45,7 @@ describe Twitter::API::Trends do
45
45
  locations = @client.trends_available
46
46
  expect(locations).to be_an Array
47
47
  expect(locations.first).to be_a Twitter::Place
48
- expect(locations.first.name).to eq "Ireland"
48
+ expect(locations.first.name).to eq("Ireland")
49
49
  end
50
50
  end
51
51
 
@@ -61,7 +61,7 @@ describe Twitter::API::Trends do
61
61
  locations = @client.trends_closest
62
62
  expect(locations).to be_an Array
63
63
  expect(locations.first).to be_a Twitter::Place
64
- expect(locations.first.name).to eq "Ireland"
64
+ expect(locations.first.name).to eq("Ireland")
65
65
  end
66
66
  end
67
67