twitter 4.8.1 → 5.0.0.rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. data.tar.gz.sig +0 -0
  2. data/CHANGELOG.md +30 -0
  3. data/LICENSE.md +1 -1
  4. data/README.md +386 -266
  5. data/lib/twitter.rb +4 -39
  6. data/lib/twitter/arguments.rb +11 -0
  7. data/lib/twitter/base.rb +89 -68
  8. data/lib/twitter/client.rb +69 -110
  9. data/lib/twitter/configuration.rb +7 -3
  10. data/lib/twitter/creatable.rb +2 -4
  11. data/lib/twitter/cursor.rb +50 -42
  12. data/lib/twitter/direct_message.rb +2 -11
  13. data/lib/twitter/entity/uri.rb +13 -0
  14. data/lib/twitter/enumerable.rb +15 -0
  15. data/lib/twitter/error.rb +55 -7
  16. data/lib/twitter/error/already_favorited.rb +1 -1
  17. data/lib/twitter/error/already_posted.rb +10 -0
  18. data/lib/twitter/error/already_retweeted.rb +1 -1
  19. data/lib/twitter/error/bad_gateway.rb +2 -3
  20. data/lib/twitter/error/bad_request.rb +2 -2
  21. data/lib/twitter/error/forbidden.rb +2 -2
  22. data/lib/twitter/error/gateway_timeout.rb +2 -3
  23. data/lib/twitter/error/internal_server_error.rb +2 -3
  24. data/lib/twitter/error/not_acceptable.rb +2 -2
  25. data/lib/twitter/error/not_found.rb +2 -2
  26. data/lib/twitter/error/service_unavailable.rb +2 -3
  27. data/lib/twitter/error/too_many_requests.rb +2 -2
  28. data/lib/twitter/error/unauthorized.rb +2 -2
  29. data/lib/twitter/error/unprocessable_entity.rb +2 -2
  30. data/lib/twitter/factory.rb +2 -8
  31. data/lib/twitter/geo_factory.rb +2 -2
  32. data/lib/twitter/geo_results.rb +36 -0
  33. data/lib/twitter/identity.rb +0 -22
  34. data/lib/twitter/list.rb +18 -4
  35. data/lib/twitter/media/photo.rb +3 -3
  36. data/lib/twitter/media_factory.rb +2 -2
  37. data/lib/twitter/null_object.rb +24 -0
  38. data/lib/twitter/oembed.rb +3 -2
  39. data/lib/twitter/place.rb +15 -9
  40. data/lib/twitter/profile_banner.rb +5 -3
  41. data/lib/twitter/rate_limit.rb +1 -17
  42. data/lib/twitter/relationship.rb +2 -10
  43. data/lib/twitter/rest/api/direct_messages.rb +135 -0
  44. data/lib/twitter/rest/api/favorites.rb +120 -0
  45. data/lib/twitter/rest/api/friends_and_followers.rb +290 -0
  46. data/lib/twitter/rest/api/help.rb +58 -0
  47. data/lib/twitter/rest/api/lists.rb +491 -0
  48. data/lib/twitter/rest/api/oauth.rb +45 -0
  49. data/lib/twitter/rest/api/places_and_geo.rb +104 -0
  50. data/lib/twitter/rest/api/saved_searches.rb +91 -0
  51. data/lib/twitter/rest/api/search.rb +37 -0
  52. data/lib/twitter/rest/api/spam_reporting.rb +29 -0
  53. data/lib/twitter/rest/api/suggested_users.rb +51 -0
  54. data/lib/twitter/rest/api/timelines.rb +202 -0
  55. data/lib/twitter/rest/api/trends.rb +58 -0
  56. data/lib/twitter/rest/api/tweets.rb +293 -0
  57. data/lib/twitter/rest/api/undocumented.rb +52 -0
  58. data/lib/twitter/rest/api/users.rb +383 -0
  59. data/lib/twitter/rest/api/utils.rb +219 -0
  60. data/lib/twitter/rest/client.rb +193 -0
  61. data/lib/twitter/rest/request/multipart_with_file.rb +36 -0
  62. data/lib/twitter/rest/response/parse_json.rb +27 -0
  63. data/lib/twitter/{response → rest/response}/raise_error.rb +8 -11
  64. data/lib/twitter/search_results.rb +33 -21
  65. data/lib/twitter/settings.rb +1 -6
  66. data/lib/twitter/size.rb +1 -1
  67. data/lib/twitter/streaming/client.rb +77 -0
  68. data/lib/twitter/streaming/connection.rb +22 -0
  69. data/lib/twitter/streaming/response.rb +30 -0
  70. data/lib/twitter/suggestion.rb +4 -2
  71. data/lib/twitter/token.rb +8 -0
  72. data/lib/twitter/trend.rb +2 -1
  73. data/lib/twitter/trend_results.rb +59 -0
  74. data/lib/twitter/tweet.rb +41 -85
  75. data/lib/twitter/user.rb +51 -41
  76. data/lib/twitter/version.rb +4 -4
  77. data/spec/fixtures/already_posted.json +1 -0
  78. data/spec/fixtures/ids_list.json +1 -1
  79. data/spec/fixtures/ids_list2.json +1 -1
  80. data/spec/fixtures/search.json +1 -1
  81. data/spec/fixtures/search_malformed.json +1 -1
  82. data/spec/fixtures/track_streaming.json +3 -0
  83. data/spec/helper.rb +8 -13
  84. data/spec/twitter/base_spec.rb +25 -99
  85. data/spec/twitter/configuration_spec.rb +1 -1
  86. data/spec/twitter/cursor_spec.rb +13 -31
  87. data/spec/twitter/direct_message_spec.rb +41 -8
  88. data/spec/twitter/entity/uri_spec.rb +74 -0
  89. data/spec/twitter/error_spec.rb +59 -11
  90. data/spec/twitter/geo/point_spec.rb +1 -1
  91. data/spec/twitter/geo_factory_spec.rb +3 -3
  92. data/spec/twitter/geo_results_spec.rb +35 -0
  93. data/spec/twitter/identifiable_spec.rb +0 -21
  94. data/spec/twitter/list_spec.rb +51 -8
  95. data/spec/twitter/media/photo_spec.rb +118 -3
  96. data/spec/twitter/media_factory_spec.rb +2 -2
  97. data/spec/twitter/null_object_spec.rb +26 -0
  98. data/spec/twitter/oembed_spec.rb +69 -45
  99. data/spec/twitter/place_spec.rb +68 -12
  100. data/spec/twitter/profile_banner_spec.rb +1 -1
  101. data/spec/twitter/rate_limit_spec.rb +12 -12
  102. data/spec/twitter/relationship_spec.rb +31 -9
  103. data/spec/twitter/{api → rest/api}/direct_messages_spec.rb +22 -9
  104. data/spec/twitter/{api → rest/api}/favorites_spec.rb +80 -7
  105. data/spec/twitter/{api → rest/api}/friends_and_followers_spec.rb +104 -65
  106. data/spec/twitter/{api → rest/api}/geo_spec.rb +10 -10
  107. data/spec/twitter/{api → rest/api}/help_spec.rb +6 -6
  108. data/spec/twitter/{api → rest/api}/lists_spec.rb +77 -56
  109. data/spec/twitter/{api → rest/api}/oauth_spec.rb +6 -6
  110. data/spec/twitter/{api → rest/api}/saved_searches_spec.rb +7 -7
  111. data/spec/twitter/{api → rest/api}/search_spec.rb +8 -9
  112. data/spec/twitter/{api → rest/api}/spam_reporting_spec.rb +3 -3
  113. data/spec/twitter/{api → rest/api}/suggested_users_spec.rb +5 -5
  114. data/spec/twitter/{api → rest/api}/timelines_spec.rb +9 -9
  115. data/spec/twitter/{api → rest/api}/trends_spec.rb +6 -6
  116. data/spec/twitter/rest/api/tweets_spec.rb +503 -0
  117. data/spec/twitter/{api → rest/api}/undocumented_spec.rb +19 -45
  118. data/spec/twitter/{api → rest/api}/users_spec.rb +60 -35
  119. data/spec/twitter/rest/client_spec.rb +193 -0
  120. data/spec/twitter/saved_search_spec.rb +11 -0
  121. data/spec/twitter/search_results_spec.rb +29 -42
  122. data/spec/twitter/settings_spec.rb +17 -6
  123. data/spec/twitter/streaming/client_spec.rb +75 -0
  124. data/spec/twitter/token_spec.rb +16 -0
  125. data/spec/twitter/trend_results_spec.rb +89 -0
  126. data/spec/twitter/trend_spec.rb +23 -0
  127. data/spec/twitter/tweet_spec.rb +122 -115
  128. data/spec/twitter/user_spec.rb +136 -77
  129. data/spec/twitter_spec.rb +0 -119
  130. data/twitter.gemspec +8 -5
  131. metadata +148 -141
  132. metadata.gz.sig +0 -0
  133. data/lib/twitter/action/favorite.rb +0 -19
  134. data/lib/twitter/action/follow.rb +0 -30
  135. data/lib/twitter/action/list_member_added.rb +0 -39
  136. data/lib/twitter/action/mention.rb +0 -46
  137. data/lib/twitter/action/reply.rb +0 -27
  138. data/lib/twitter/action/retweet.rb +0 -27
  139. data/lib/twitter/action/tweet.rb +0 -20
  140. data/lib/twitter/action_factory.rb +0 -22
  141. data/lib/twitter/api/arguments.rb +0 -13
  142. data/lib/twitter/api/direct_messages.rb +0 -148
  143. data/lib/twitter/api/favorites.rb +0 -126
  144. data/lib/twitter/api/friends_and_followers.rb +0 -334
  145. data/lib/twitter/api/help.rb +0 -64
  146. data/lib/twitter/api/lists.rb +0 -618
  147. data/lib/twitter/api/oauth.rb +0 -44
  148. data/lib/twitter/api/places_and_geo.rb +0 -121
  149. data/lib/twitter/api/saved_searches.rb +0 -99
  150. data/lib/twitter/api/search.rb +0 -37
  151. data/lib/twitter/api/spam_reporting.rb +0 -30
  152. data/lib/twitter/api/suggested_users.rb +0 -55
  153. data/lib/twitter/api/timelines.rb +0 -214
  154. data/lib/twitter/api/trends.rb +0 -63
  155. data/lib/twitter/api/tweets.rb +0 -304
  156. data/lib/twitter/api/undocumented.rb +0 -97
  157. data/lib/twitter/api/users.rb +0 -439
  158. data/lib/twitter/api/utils.rb +0 -187
  159. data/lib/twitter/configurable.rb +0 -96
  160. data/lib/twitter/default.rb +0 -102
  161. data/lib/twitter/entity/url.rb +0 -9
  162. data/lib/twitter/error/client_error.rb +0 -35
  163. data/lib/twitter/error/decode_error.rb +0 -9
  164. data/lib/twitter/error/identity_map_key_error.rb +0 -9
  165. data/lib/twitter/error/server_error.rb +0 -28
  166. data/lib/twitter/exceptable.rb +0 -36
  167. data/lib/twitter/identity_map.rb +0 -22
  168. data/lib/twitter/request/multipart_with_file.rb +0 -34
  169. data/lib/twitter/response/parse_json.rb +0 -25
  170. data/spec/fixtures/about_me.json +0 -1
  171. data/spec/fixtures/activity_summary.json +0 -1
  172. data/spec/fixtures/bad_gateway.json +0 -1
  173. data/spec/fixtures/bad_request.json +0 -1
  174. data/spec/fixtures/by_friends.json +0 -1
  175. data/spec/fixtures/end_session.json +0 -1
  176. data/spec/fixtures/forbidden.json +0 -1
  177. data/spec/fixtures/internal_server_error.json +0 -1
  178. data/spec/fixtures/not_acceptable.json +0 -1
  179. data/spec/fixtures/phoenix_search.phoenix +0 -1
  180. data/spec/fixtures/resolve.json +0 -1
  181. data/spec/fixtures/service_unavailable.json +0 -1
  182. data/spec/fixtures/totals.json +0 -1
  183. data/spec/fixtures/trends.json +0 -1
  184. data/spec/fixtures/unauthorized.json +0 -1
  185. data/spec/fixtures/video_facets.json +0 -1
  186. data/spec/twitter/action/favorite_spec.rb +0 -29
  187. data/spec/twitter/action/follow_spec.rb +0 -29
  188. data/spec/twitter/action/list_member_added_spec.rb +0 -41
  189. data/spec/twitter/action/mention_spec.rb +0 -52
  190. data/spec/twitter/action/reply_spec.rb +0 -41
  191. data/spec/twitter/action/retweet_spec.rb +0 -41
  192. data/spec/twitter/action_factory_spec.rb +0 -35
  193. data/spec/twitter/action_spec.rb +0 -16
  194. data/spec/twitter/api/tweets_spec.rb +0 -285
  195. data/spec/twitter/client_spec.rb +0 -223
  196. data/spec/twitter/error/client_error_spec.rb +0 -23
  197. data/spec/twitter/error/server_error_spec.rb +0 -20
@@ -1,9 +1,9 @@
1
1
  require 'helper'
2
2
 
3
- describe Twitter::API::DirectMessages do
3
+ describe Twitter::REST::API::DirectMessages 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 "#direct_messages_received" do
@@ -18,7 +18,7 @@ describe Twitter::API::DirectMessages do
18
18
  direct_messages = @client.direct_messages_received
19
19
  expect(direct_messages).to be_an Array
20
20
  expect(direct_messages.first).to be_a Twitter::DirectMessage
21
- expect(direct_messages.first.sender.id).to eq 7505382
21
+ expect(direct_messages.first.sender.id).to eq(7505382)
22
22
  end
23
23
  end
24
24
 
@@ -34,7 +34,7 @@ describe Twitter::API::DirectMessages do
34
34
  direct_messages = @client.direct_messages_sent
35
35
  expect(direct_messages).to be_an Array
36
36
  expect(direct_messages.first).to be_a Twitter::DirectMessage
37
- expect(direct_messages.first.sender.id).to eq 7505382
37
+ expect(direct_messages.first.sender.id).to eq(7505382)
38
38
  end
39
39
  end
40
40
 
@@ -49,7 +49,7 @@ describe Twitter::API::DirectMessages do
49
49
  it "returns the specified direct message" do
50
50
  direct_message = @client.direct_message(1825786345)
51
51
  expect(direct_message).to be_a Twitter::DirectMessage
52
- expect(direct_message.sender.id).to eq 7505382
52
+ expect(direct_message.sender.id).to eq(7505382)
53
53
  end
54
54
  end
55
55
 
@@ -66,7 +66,7 @@ describe Twitter::API::DirectMessages do
66
66
  direct_messages = @client.direct_messages(1825786345)
67
67
  expect(direct_messages).to be_an Array
68
68
  expect(direct_messages.first).to be_a Twitter::DirectMessage
69
- expect(direct_messages.first.sender.id).to eq 7505382
69
+ expect(direct_messages.first.sender.id).to eq(7505382)
70
70
  end
71
71
  end
72
72
  context "without ids passed" do
@@ -81,7 +81,7 @@ describe Twitter::API::DirectMessages do
81
81
  direct_messages = @client.direct_messages
82
82
  expect(direct_messages).to be_an Array
83
83
  expect(direct_messages.first).to be_a Twitter::DirectMessage
84
- expect(direct_messages.first.sender.id).to eq 7505382
84
+ expect(direct_messages.first.sender.id).to eq(7505382)
85
85
  end
86
86
  end
87
87
  end
@@ -98,7 +98,7 @@ describe Twitter::API::DirectMessages do
98
98
  direct_messages = @client.direct_message_destroy(1825785544)
99
99
  expect(direct_messages).to be_an Array
100
100
  expect(direct_messages.first).to be_a Twitter::DirectMessage
101
- expect(direct_messages.first.sender.id).to eq 7505382
101
+ expect(direct_messages.first.sender.id).to eq(7505382)
102
102
  end
103
103
  end
104
104
 
@@ -113,7 +113,20 @@ describe Twitter::API::DirectMessages do
113
113
  it "returns the sent message" do
114
114
  direct_message = @client.direct_message_create("pengwynn", "Creating a fixture for the Twitter gem")
115
115
  expect(direct_message).to be_a Twitter::DirectMessage
116
- expect(direct_message.text).to eq "Creating a fixture for the Twitter gem"
116
+ expect(direct_message.text).to eq("Creating a fixture for the Twitter gem")
117
+ end
118
+ context "with a URI object passed" do
119
+ it "requests the correct resource" do
120
+ user = URI.parse("https://twitter.com/pengwynn")
121
+ @client.direct_message_create(user, "Creating a fixture for the Twitter gem")
122
+ expect(a_post("/1.1/direct_messages/new.json").with(:body => {:screen_name => "pengwynn", :text => "Creating a fixture for the Twitter gem"})).to have_been_made
123
+ end
124
+ end
125
+ context "with a URI string passed" do
126
+ it "requests the correct resource" do
127
+ @client.direct_message_create("https://twitter.com/pengwynn", "Creating a fixture for the Twitter gem")
128
+ expect(a_post("/1.1/direct_messages/new.json").with(:body => {:screen_name => "pengwynn", :text => "Creating a fixture for the Twitter gem"})).to have_been_made
129
+ end
117
130
  end
118
131
  end
119
132
 
@@ -1,9 +1,9 @@
1
1
  require 'helper'
2
2
 
3
- describe Twitter::API::Favorites do
3
+ describe Twitter::REST::API::Favorites 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 "#favorites" do
@@ -19,7 +19,20 @@ describe Twitter::API::Favorites do
19
19
  favorites = @client.favorites("sferik")
20
20
  expect(favorites).to be_an Array
21
21
  expect(favorites.first).to be_a Twitter::Tweet
22
- expect(favorites.first.user.id).to eq 7505382
22
+ expect(favorites.first.user.id).to eq(7505382)
23
+ end
24
+ context "with a URI object passed" do
25
+ it "requests the correct resource" do
26
+ user = URI.parse("https://twitter.com/sferik")
27
+ @client.favorites(user)
28
+ expect(a_get("/1.1/favorites/list.json").with(:query => {:screen_name => "sferik"})).to have_been_made
29
+ end
30
+ end
31
+ context "with a URI string passed" do
32
+ it "requests the correct resource" do
33
+ @client.favorites("https://twitter.com/sferik")
34
+ expect(a_get("/1.1/favorites/list.json").with(:query => {:screen_name => "sferik"})).to have_been_made
35
+ end
23
36
  end
24
37
  end
25
38
  context "without arguments passed" do
@@ -34,7 +47,7 @@ describe Twitter::API::Favorites do
34
47
  favorites = @client.favorites
35
48
  expect(favorites).to be_an Array
36
49
  expect(favorites.first).to be_a Twitter::Tweet
37
- expect(favorites.first.user.id).to eq 7505382
50
+ expect(favorites.first.user.id).to eq(7505382)
38
51
  end
39
52
  end
40
53
  end
@@ -51,7 +64,27 @@ describe Twitter::API::Favorites do
51
64
  tweets = @client.unfavorite(25938088801)
52
65
  expect(tweets).to be_an Array
53
66
  expect(tweets.first).to be_a Twitter::Tweet
54
- expect(tweets.first.text).to eq "The problem with your code is that it's doing exactly what you told it to do."
67
+ expect(tweets.first.text).to eq("The problem with your code is that it's doing exactly what you told it to do.")
68
+ end
69
+ context "with a URI object passed" do
70
+ it "requests the correct resource" do
71
+ tweet = URI.parse("https://twitter.com/sferik/status/25938088801")
72
+ @client.unfavorite(tweet)
73
+ expect(a_post("/1.1/favorites/destroy.json").with(:body => {:id => "25938088801"})).to have_been_made
74
+ end
75
+ end
76
+ context "with a URI string passed" do
77
+ it "requests the correct resource" do
78
+ @client.unfavorite("https://twitter.com/sferik/status/25938088801")
79
+ expect(a_post("/1.1/favorites/destroy.json").with(:body => {:id => "25938088801"})).to have_been_made
80
+ end
81
+ end
82
+ context "with a Tweet passed" do
83
+ it "requests the correct resource" do
84
+ tweet = Twitter::Tweet.new(:id => 25938088801)
85
+ @client.unfavorite(tweet)
86
+ expect(a_post("/1.1/favorites/destroy.json").with(:body => {:id => "25938088801"})).to have_been_made
87
+ end
55
88
  end
56
89
  end
57
90
 
@@ -67,7 +100,7 @@ describe Twitter::API::Favorites do
67
100
  tweets = @client.favorite(25938088801)
68
101
  expect(tweets).to be_an Array
69
102
  expect(tweets.first).to be_a Twitter::Tweet
70
- expect(tweets.first.text).to eq "The problem with your code is that it's doing exactly what you told it to do."
103
+ expect(tweets.first.text).to eq("The problem with your code is that it's doing exactly what you told it to do.")
71
104
  end
72
105
  context "already favorited" do
73
106
  before do
@@ -77,6 +110,26 @@ describe Twitter::API::Favorites do
77
110
  expect{@client.favorite(25938088801)}.not_to raise_error
78
111
  end
79
112
  end
113
+ context "with a URI object passed" do
114
+ it "requests the correct resource" do
115
+ tweet = URI.parse("https://twitter.com/sferik/status/25938088801")
116
+ @client.favorite(tweet)
117
+ expect(a_post("/1.1/favorites/create.json").with(:body => {:id => "25938088801"})).to have_been_made
118
+ end
119
+ end
120
+ context "with a URI string passed" do
121
+ it "requests the correct resource" do
122
+ @client.favorite("https://twitter.com/sferik/status/25938088801")
123
+ expect(a_post("/1.1/favorites/create.json").with(:body => {:id => "25938088801"})).to have_been_made
124
+ end
125
+ end
126
+ context "with a Tweet passed" do
127
+ it "requests the correct resource" do
128
+ tweet = Twitter::Tweet.new(:id => 25938088801)
129
+ @client.favorite(tweet)
130
+ expect(a_post("/1.1/favorites/create.json").with(:body => {:id => "25938088801"})).to have_been_made
131
+ end
132
+ end
80
133
  end
81
134
 
82
135
  describe "#favorite!" do
@@ -91,7 +144,7 @@ describe Twitter::API::Favorites do
91
144
  tweets = @client.favorite!(25938088801)
92
145
  expect(tweets).to be_an Array
93
146
  expect(tweets.first).to be_a Twitter::Tweet
94
- expect(tweets.first.text).to eq "The problem with your code is that it's doing exactly what you told it to do."
147
+ expect(tweets.first.text).to eq("The problem with your code is that it's doing exactly what you told it to do.")
95
148
  end
96
149
  context "forbidden" do
97
150
  before do
@@ -109,6 +162,26 @@ describe Twitter::API::Favorites do
109
162
  expect{@client.favorite!(25938088801)}.to raise_error Twitter::Error::AlreadyFavorited
110
163
  end
111
164
  end
165
+ context "with a URI object passed" do
166
+ it "requests the correct resource" do
167
+ tweet = URI.parse("https://twitter.com/sferik/status/25938088801")
168
+ @client.favorite!(tweet)
169
+ expect(a_post("/1.1/favorites/create.json").with(:body => {:id => "25938088801"})).to have_been_made
170
+ end
171
+ end
172
+ context "with a URI string passed" do
173
+ it "requests the correct resource" do
174
+ @client.favorite!("https://twitter.com/sferik/status/25938088801")
175
+ expect(a_post("/1.1/favorites/create.json").with(:body => {:id => "25938088801"})).to have_been_made
176
+ end
177
+ end
178
+ context "with a Tweet passed" do
179
+ it "requests the correct resource" do
180
+ tweet = Twitter::Tweet.new(:id => 25938088801)
181
+ @client.favorite!(tweet)
182
+ expect(a_post("/1.1/favorites/create.json").with(:body => {:id => "25938088801"})).to have_been_made
183
+ end
184
+ end
112
185
  end
113
186
 
114
187
  end
@@ -1,9 +1,9 @@
1
1
  require 'helper'
2
2
 
3
- describe Twitter::API::FriendsAndFollowers do
3
+ describe Twitter::REST::API::FriendsAndFollowers 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 "#friend_ids" do
@@ -18,15 +18,14 @@ describe Twitter::API::FriendsAndFollowers do
18
18
  it "returns an array of numeric IDs for every user the specified user is following" do
19
19
  friend_ids = @client.friend_ids("sferik")
20
20
  expect(friend_ids).to be_a Twitter::Cursor
21
- expect(friend_ids.ids).to be_an Array
22
- expect(friend_ids.ids.first).to eq 14100886
21
+ expect(friend_ids.first).to eq(20009713)
23
22
  end
24
- context "with all" do
23
+ context "with each" do
25
24
  before do
26
25
  stub_get("/1.1/friends/ids.json").with(:query => {:cursor => "1305102810874389703", :screen_name => "sferik"}).to_return(:body => fixture("ids_list2.json"), :headers => {:content_type => "application/json; charset=utf-8"})
27
26
  end
28
27
  it "requests the correct resource" do
29
- @client.friend_ids("sferik").all
28
+ @client.friend_ids("sferik").each{}
30
29
  expect(a_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"})).to have_been_made
31
30
  expect(a_get("/1.1/friends/ids.json").with(:query => {:cursor => "1305102810874389703", :screen_name => "sferik"})).to have_been_made
32
31
  end
@@ -40,12 +39,12 @@ describe Twitter::API::FriendsAndFollowers do
40
39
  @client.friend_ids(7505382)
41
40
  expect(a_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :user_id => "7505382"})).to have_been_made
42
41
  end
43
- context "with all" do
42
+ context "with each" do
44
43
  before do
45
44
  stub_get("/1.1/friends/ids.json").with(:query => {:cursor => "1305102810874389703", :user_id => "7505382"}).to_return(:body => fixture("ids_list2.json"), :headers => {:content_type => "application/json; charset=utf-8"})
46
45
  end
47
46
  it "requests the correct resource" do
48
- @client.friend_ids(7505382).all
47
+ @client.friend_ids(7505382).each{}
49
48
  expect(a_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :user_id => "7505382"})).to have_been_made
50
49
  expect(a_get("/1.1/friends/ids.json").with(:query => {:cursor => "1305102810874389703", :user_id => "7505382"})).to have_been_made
51
50
  end
@@ -64,15 +63,14 @@ describe Twitter::API::FriendsAndFollowers do
64
63
  it "returns an array of numeric IDs for every user the specified user is following" do
65
64
  friend_ids = @client.friend_ids
66
65
  expect(friend_ids).to be_a Twitter::Cursor
67
- expect(friend_ids.ids).to be_an Array
68
- expect(friend_ids.ids.first).to eq 14100886
66
+ expect(friend_ids.first).to eq(20009713)
69
67
  end
70
- context "with all" do
68
+ context "with each" do
71
69
  before do
72
70
  stub_get("/1.1/friends/ids.json").with(:query => {:cursor => "1305102810874389703", :screen_name => "sferik"}).to_return(:body => fixture("ids_list2.json"), :headers => {:content_type => "application/json; charset=utf-8"})
73
71
  end
74
72
  it "requests the correct resource" do
75
- @client.friend_ids.all
73
+ @client.friend_ids.each{}
76
74
  expect(a_get("/1.1/account/verify_credentials.json")).to have_been_made
77
75
  expect(a_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"})).to have_been_made
78
76
  expect(a_get("/1.1/friends/ids.json").with(:query => {:cursor => "1305102810874389703", :screen_name => "sferik"})).to have_been_made
@@ -93,15 +91,14 @@ describe Twitter::API::FriendsAndFollowers do
93
91
  it "returns an array of numeric IDs for every user following the specified user" do
94
92
  follower_ids = @client.follower_ids("sferik")
95
93
  expect(follower_ids).to be_a Twitter::Cursor
96
- expect(follower_ids.ids).to be_an Array
97
- expect(follower_ids.ids.first).to eq 14100886
94
+ expect(follower_ids.first).to eq(20009713)
98
95
  end
99
- context "with all" do
96
+ context "with each" do
100
97
  before do
101
98
  stub_get("/1.1/followers/ids.json").with(:query => {:cursor => "1305102810874389703", :screen_name => "sferik"}).to_return(:body => fixture("ids_list2.json"), :headers => {:content_type => "application/json; charset=utf-8"})
102
99
  end
103
100
  it "requests the correct resource" do
104
- @client.follower_ids("sferik").all
101
+ @client.follower_ids("sferik").each{}
105
102
  expect(a_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"})).to have_been_made
106
103
  expect(a_get("/1.1/followers/ids.json").with(:query => {:cursor => "1305102810874389703", :screen_name => "sferik"})).to have_been_made
107
104
  end
@@ -115,12 +112,12 @@ describe Twitter::API::FriendsAndFollowers do
115
112
  @client.follower_ids(7505382)
116
113
  expect(a_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1", :user_id => "7505382"})).to have_been_made
117
114
  end
118
- context "with all" do
115
+ context "with each" do
119
116
  before do
120
117
  stub_get("/1.1/followers/ids.json").with(:query => {:cursor => "1305102810874389703", :user_id => "7505382"}).to_return(:body => fixture("ids_list2.json"), :headers => {:content_type => "application/json; charset=utf-8"})
121
118
  end
122
119
  it "requests the correct resource" do
123
- @client.follower_ids(7505382).all
120
+ @client.follower_ids(7505382).each{}
124
121
  expect(a_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1", :user_id => "7505382"})).to have_been_made
125
122
  expect(a_get("/1.1/followers/ids.json").with(:query => {:cursor => "1305102810874389703", :user_id => "7505382"})).to have_been_made
126
123
  end
@@ -139,15 +136,14 @@ describe Twitter::API::FriendsAndFollowers do
139
136
  it "returns an array of numeric IDs for every user following the specified user" do
140
137
  follower_ids = @client.follower_ids
141
138
  expect(follower_ids).to be_a Twitter::Cursor
142
- expect(follower_ids.ids).to be_an Array
143
- expect(follower_ids.ids.first).to eq 14100886
139
+ expect(follower_ids.first).to eq(20009713)
144
140
  end
145
- context "with all" do
141
+ context "with each" do
146
142
  before do
147
143
  stub_get("/1.1/followers/ids.json").with(:query => {:cursor => "1305102810874389703", :screen_name => "sferik"}).to_return(:body => fixture("ids_list2.json"), :headers => {:content_type => "application/json; charset=utf-8"})
148
144
  end
149
145
  it "requests the correct resource" do
150
- @client.follower_ids.all
146
+ @client.follower_ids.each{}
151
147
  expect(a_get("/1.1/account/verify_credentials.json")).to have_been_made
152
148
  expect(a_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"})).to have_been_made
153
149
  expect(a_get("/1.1/followers/ids.json").with(:query => {:cursor => "1305102810874389703", :screen_name => "sferik"})).to have_been_made
@@ -169,8 +165,8 @@ describe Twitter::API::FriendsAndFollowers do
169
165
  friendships = @client.friendships("sferik", "pengwynn")
170
166
  expect(friendships).to be_an Array
171
167
  expect(friendships.first).to be_a Twitter::User
172
- expect(friendships.first.id).to eq 7505382
173
- expect(friendships.first.connections).to eq ["none"]
168
+ expect(friendships.first.id).to eq(7505382)
169
+ expect(friendships.first.connections).to eq(["none"])
174
170
  end
175
171
  end
176
172
  context "with numeric screen names passed" do
@@ -215,8 +211,8 @@ describe Twitter::API::FriendsAndFollowers do
215
211
  friendships = @client.friendships("sferik", "pengwynn")
216
212
  expect(friendships).to be_an Array
217
213
  expect(friendships.first).to be_a Twitter::User
218
- expect(friendships.first.id).to eq 7505382
219
- expect(friendships.first.connections).to eq ["none"]
214
+ expect(friendships.first.id).to eq(7505382)
215
+ expect(friendships.first.connections).to eq(["none"])
220
216
  end
221
217
  end
222
218
  context "with numeric screen names passed" do
@@ -259,15 +255,14 @@ describe Twitter::API::FriendsAndFollowers do
259
255
  it "returns an array of numeric IDs for every user who has a pending request to follow the authenticating user" do
260
256
  friendships_incoming = @client.friendships_incoming
261
257
  expect(friendships_incoming).to be_a Twitter::Cursor
262
- expect(friendships_incoming.ids).to be_an Array
263
- expect(friendships_incoming.ids.first).to eq 14100886
258
+ expect(friendships_incoming.first).to eq(20009713)
264
259
  end
265
- context "with all" do
260
+ context "with each" do
266
261
  before do
267
262
  stub_get("/1.1/friendships/incoming.json").with(:query => {:cursor => "1305102810874389703"}).to_return(:body => fixture("ids_list2.json"), :headers => {:content_type => "application/json; charset=utf-8"})
268
263
  end
269
264
  it "requests the correct resource" do
270
- @client.friendships_incoming.all
265
+ @client.friendships_incoming.each{}
271
266
  expect(a_get("/1.1/friendships/incoming.json").with(:query => {:cursor => "1305102810874389703"})).to have_been_made
272
267
  end
273
268
  end
@@ -284,15 +279,14 @@ describe Twitter::API::FriendsAndFollowers do
284
279
  it "returns an array of numeric IDs for every protected user for whom the authenticating user has a pending follow request" do
285
280
  friendships_outgoing = @client.friendships_outgoing
286
281
  expect(friendships_outgoing).to be_a Twitter::Cursor
287
- expect(friendships_outgoing.ids).to be_an Array
288
- expect(friendships_outgoing.ids.first).to eq 14100886
282
+ expect(friendships_outgoing.first).to eq(20009713)
289
283
  end
290
- context "with all" do
284
+ context "with each" do
291
285
  before do
292
286
  stub_get("/1.1/friendships/outgoing.json").with(:query => {:cursor => "1305102810874389703"}).to_return(:body => fixture("ids_list2.json"), :headers => {:content_type => "application/json; charset=utf-8"})
293
287
  end
294
288
  it "requests the correct resource" do
295
- @client.friendships_outgoing.all
289
+ @client.friendships_outgoing.each{}
296
290
  expect(a_get("/1.1/friendships/outgoing.json").with(:query => {:cursor => "1305102810874389703"})).to have_been_made
297
291
  end
298
292
  end
@@ -302,7 +296,7 @@ describe Twitter::API::FriendsAndFollowers do
302
296
  context "with :follow => true passed" do
303
297
  before do
304
298
  stub_get("/1.1/account/verify_credentials.json").to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
305
- stub_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"}).to_return(:body => fixture("ids_list.json"), :headers => {:content_type => "application/json; charset=utf-8"})
299
+ stub_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"}).to_return(:body => fixture("ids_list2.json"), :headers => {:content_type => "application/json; charset=utf-8"})
306
300
  stub_post("/1.1/users/lookup.json").with(:body => {:screen_name => "sferik,pengwynn"}).to_return(:body => fixture("friendships.json"), :headers => {:content_type => "application/json; charset=utf-8"})
307
301
  stub_post("/1.1/friendships/create.json").with(:body => {:user_id => "7505382", :follow => "true"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
308
302
  end
@@ -317,13 +311,13 @@ describe Twitter::API::FriendsAndFollowers do
317
311
  users = @client.follow("sferik", "pengwynn", :follow => true)
318
312
  expect(users).to be_an Array
319
313
  expect(users.first).to be_a Twitter::User
320
- expect(users.first.id).to eq 7505382
314
+ expect(users.first.id).to eq(7505382)
321
315
  end
322
316
  end
323
317
  context "with :follow => false passed" do
324
318
  before do
325
319
  stub_get("/1.1/account/verify_credentials.json").to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
326
- stub_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"}).to_return(:body => fixture("ids_list.json"), :headers => {:content_type => "application/json; charset=utf-8"})
320
+ stub_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"}).to_return(:body => fixture("ids_list2.json"), :headers => {:content_type => "application/json; charset=utf-8"})
327
321
  stub_post("/1.1/users/lookup.json").with(:body => {:screen_name => "sferik,pengwynn"}).to_return(:body => fixture("friendships.json"), :headers => {:content_type => "application/json; charset=utf-8"})
328
322
  stub_post("/1.1/friendships/create.json").with(:body => {:user_id => "7505382"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
329
323
  end
@@ -338,7 +332,7 @@ describe Twitter::API::FriendsAndFollowers do
338
332
  context "without :follow passed" do
339
333
  before do
340
334
  stub_get("/1.1/account/verify_credentials.json").to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
341
- stub_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"}).to_return(:body => fixture("ids_list.json"), :headers => {:content_type => "application/json; charset=utf-8"})
335
+ stub_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"}).to_return(:body => fixture("ids_list2.json"), :headers => {:content_type => "application/json; charset=utf-8"})
342
336
  stub_post("/1.1/users/lookup.json").with(:body => {:screen_name => "sferik,pengwynn"}).to_return(:body => fixture("friendships.json"), :headers => {:content_type => "application/json; charset=utf-8"})
343
337
  stub_post("/1.1/friendships/create.json").with(:body => {:user_id => "7505382"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
344
338
  end
@@ -365,7 +359,7 @@ describe Twitter::API::FriendsAndFollowers do
365
359
  users = @client.follow!("sferik", :follow => true)
366
360
  expect(users).to be_an Array
367
361
  expect(users.first).to be_a Twitter::User
368
- expect(users.first.id).to eq 7505382
362
+ expect(users.first.id).to eq(7505382)
369
363
  end
370
364
  end
371
365
  context "with :follow => false passed" do
@@ -380,7 +374,7 @@ describe Twitter::API::FriendsAndFollowers do
380
374
  users = @client.follow!("sferik", :follow => false)
381
375
  expect(users).to be_an Array
382
376
  expect(users.first).to be_a Twitter::User
383
- expect(users.first.id).to eq 7505382
377
+ expect(users.first.id).to eq(7505382)
384
378
  end
385
379
  end
386
380
  context "without :follow passed" do
@@ -395,7 +389,36 @@ describe Twitter::API::FriendsAndFollowers do
395
389
  users = @client.follow!("sferik")
396
390
  expect(users).to be_an Array
397
391
  expect(users.first).to be_a Twitter::User
398
- expect(users.first.id).to eq 7505382
392
+ expect(users.first.id).to eq(7505382)
393
+ end
394
+ end
395
+ context "with a user object passed" do
396
+ before do
397
+ stub_post("/1.1/friendships/create.json").with(:body => {:user_id => "7505382"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
398
+ end
399
+ it "requests the correct resources" do
400
+ user = Twitter::User.new(:id => "7505382")
401
+ @client.follow!(user)
402
+ expect(a_post("/1.1/friendships/create.json").with(:body => {:user_id => "7505382"})).to have_been_made
403
+ end
404
+ end
405
+ context "with a URI object passed" do
406
+ before do
407
+ stub_post("/1.1/friendships/create.json").with(:body => {:screen_name => "sferik"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
408
+ end
409
+ it "requests the correct resource" do
410
+ user = URI.parse("https://twitter.com/sferik")
411
+ @client.follow!(user)
412
+ expect(a_post("/1.1/friendships/create.json").with(:body => {:screen_name => "sferik"})).to have_been_made
413
+ end
414
+ end
415
+ context "with a URI string passed" do
416
+ before do
417
+ stub_post("/1.1/friendships/create.json").with(:body => {:screen_name => "sferik"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
418
+ end
419
+ it "requests the correct resource" do
420
+ @client.follow!("https://twitter.com/sferik")
421
+ expect(a_post("/1.1/friendships/create.json").with(:body => {:screen_name => "sferik"})).to have_been_made
399
422
  end
400
423
  end
401
424
  end
@@ -412,7 +435,7 @@ describe Twitter::API::FriendsAndFollowers do
412
435
  users = @client.friendship_destroy("sferik")
413
436
  expect(users).to be_an Array
414
437
  expect(users.first).to be_a Twitter::User
415
- expect(users.first.id).to eq 7505382
438
+ expect(users.first.id).to eq(7505382)
416
439
  end
417
440
  end
418
441
 
@@ -427,7 +450,7 @@ describe Twitter::API::FriendsAndFollowers do
427
450
  it "returns detailed information about the relationship between two users" do
428
451
  relationship = @client.friendship_update("sferik", :retweets => true)
429
452
  expect(relationship).to be_a Twitter::Relationship
430
- expect(relationship.source.id).to eq 7505382
453
+ expect(relationship.source.id).to eq(7505382)
431
454
  end
432
455
  end
433
456
 
@@ -443,7 +466,7 @@ describe Twitter::API::FriendsAndFollowers do
443
466
  it "returns detailed information about the relationship between two users" do
444
467
  relationship = @client.friendship("sferik", "pengwynn")
445
468
  expect(relationship).to be_a Twitter::Relationship
446
- expect(relationship.source.id).to eq 7505382
469
+ expect(relationship.source.id).to eq(7505382)
447
470
  end
448
471
  end
449
472
  context "with numeric screen names passed" do
@@ -475,6 +498,26 @@ describe Twitter::API::FriendsAndFollowers do
475
498
  expect(a_get("/1.1/friendships/show.json").with(:query => {:source_id => "7505382", :target_id => "14100886"})).to have_been_made
476
499
  end
477
500
  end
501
+ context "with URI objects passed" do
502
+ before do
503
+ stub_get("/1.1/friendships/show.json").with(:query => {:source_screen_name => "sferik", :target_screen_name => "pengwynn"}).to_return(:body => fixture("following.json"), :headers => {:content_type => "application/json; charset=utf-8"})
504
+ end
505
+ it "requests the correct resource" do
506
+ user1 = URI.parse("https://twitter.com/sferik")
507
+ user2 = URI.parse("https://twitter.com/pengwynn")
508
+ @client.friendship(user1, user2)
509
+ expect(a_get("/1.1/friendships/show.json").with(:query => {:source_screen_name => "sferik", :target_screen_name => "pengwynn"})).to have_been_made
510
+ end
511
+ end
512
+ context "with URI strings passed" do
513
+ before do
514
+ stub_get("/1.1/friendships/show.json").with(:query => {:source_screen_name => "sferik", :target_screen_name => "pengwynn"}).to_return(:body => fixture("following.json"), :headers => {:content_type => "application/json; charset=utf-8"})
515
+ end
516
+ it "requests the correct resource" do
517
+ @client.friendship("https://twitter.com/sferik", "https://twitter.com/pengwynn")
518
+ expect(a_get("/1.1/friendships/show.json").with(:query => {:source_screen_name => "sferik", :target_screen_name => "pengwynn"})).to have_been_made
519
+ end
520
+ end
478
521
  end
479
522
 
480
523
  describe "#friendship?" do
@@ -530,15 +573,14 @@ describe Twitter::API::FriendsAndFollowers do
530
573
  it "returns a cursor of followers with details for every user the specified user is followed by" do
531
574
  followers = @client.followers("sferik")
532
575
  expect(followers).to be_a Twitter::Cursor
533
- expect(followers.users).to be_an Array
534
- expect(followers.users.first).to be_a Twitter::User
576
+ expect(followers.first).to be_a Twitter::User
535
577
  end
536
- context "with all" do
578
+ context "with each" do
537
579
  before do
538
580
  stub_get("/1.1/followers/list.json").with(:query => {:cursor => "1419103567112105362", :screen_name => "sferik"}).to_return(:body => fixture("followers_list2.json"), :headers => {:content_type => "application/json; charset=utf-8"})
539
581
  end
540
582
  it "requests the correct resource" do
541
- @client.followers("sferik").all
583
+ @client.followers("sferik").each{}
542
584
  expect(a_get("/1.1/followers/list.json").with(:query => {:cursor => "-1", :screen_name => "sferik"})).to have_been_made
543
585
  expect(a_get("/1.1/followers/list.json").with(:query => {:cursor => "1419103567112105362", :screen_name => "sferik"})).to have_been_made
544
586
  end
@@ -552,12 +594,12 @@ describe Twitter::API::FriendsAndFollowers do
552
594
  @client.followers(7505382)
553
595
  expect(a_get("/1.1/followers/list.json").with(:query => {:cursor => "-1", :user_id => "7505382"})).to have_been_made
554
596
  end
555
- context "with all" do
597
+ context "with each" do
556
598
  before do
557
599
  stub_get("/1.1/followers/list.json").with(:query => {:cursor => "1419103567112105362", :user_id => "7505382"}).to_return(:body => fixture("followers_list2.json"), :headers => {:content_type => "application/json; charset=utf-8"})
558
600
  end
559
601
  it "requests the correct resource" do
560
- @client.followers(7505382).all
602
+ @client.followers(7505382).each{}
561
603
  expect(a_get("/1.1/followers/list.json").with(:query => {:cursor => "-1", :user_id => "7505382"})).to have_been_made
562
604
  expect(a_get("/1.1/followers/list.json").with(:query => {:cursor => "1419103567112105362", :user_id => "7505382"})).to have_been_made
563
605
  end
@@ -576,15 +618,14 @@ describe Twitter::API::FriendsAndFollowers do
576
618
  it "returns a cursor of followers with details for every user the specified user is followed by" do
577
619
  followers = @client.followers
578
620
  expect(followers).to be_a Twitter::Cursor
579
- expect(followers.users).to be_an Array
580
- expect(followers.users.first).to be_a Twitter::User
621
+ expect(followers.first).to be_a Twitter::User
581
622
  end
582
- context "with all" do
623
+ context "with each" do
583
624
  before do
584
625
  stub_get("/1.1/followers/list.json").with(:query => {:cursor => "1419103567112105362", :screen_name => "sferik"}).to_return(:body => fixture("followers_list2.json"), :headers => {:content_type => "application/json; charset=utf-8"})
585
626
  end
586
627
  it "requests the correct resource" do
587
- @client.followers.all
628
+ @client.followers.each{}
588
629
  expect(a_get("/1.1/account/verify_credentials.json")).to have_been_made
589
630
  expect(a_get("/1.1/followers/list.json").with(:query => {:cursor => "-1", :screen_name => "sferik"})).to have_been_made
590
631
  expect(a_get("/1.1/followers/list.json").with(:query => {:cursor => "1419103567112105362", :screen_name => "sferik"})).to have_been_made
@@ -605,15 +646,14 @@ describe Twitter::API::FriendsAndFollowers do
605
646
  it "returns a cursor of friends with details for every user the specified user is following" do
606
647
  friends = @client.friends("sferik")
607
648
  expect(friends).to be_a Twitter::Cursor
608
- expect(friends.users).to be_an Array
609
- expect(friends.users.first).to be_a Twitter::User
649
+ expect(friends.first).to be_a Twitter::User
610
650
  end
611
- context "with all" do
651
+ context "with each" do
612
652
  before do
613
653
  stub_get("/1.1/friends/list.json").with(:query => {:cursor => "1418947360875712729", :screen_name => "sferik"}).to_return(:body => fixture("friends_list2.json"), :headers => {:content_type => "application/json; charset=utf-8"})
614
654
  end
615
655
  it "requests the correct resource" do
616
- @client.friends("sferik").all
656
+ @client.friends("sferik").each{}
617
657
  expect(a_get("/1.1/friends/list.json").with(:query => {:cursor => "-1", :screen_name => "sferik"})).to have_been_made
618
658
  expect(a_get("/1.1/friends/list.json").with(:query => {:cursor => "1418947360875712729", :screen_name => "sferik"})).to have_been_made
619
659
  end
@@ -627,12 +667,12 @@ describe Twitter::API::FriendsAndFollowers do
627
667
  @client.friends(7505382)
628
668
  expect(a_get("/1.1/friends/list.json").with(:query => {:cursor => "-1", :user_id => "7505382"})).to have_been_made
629
669
  end
630
- context "with all" do
670
+ context "with each" do
631
671
  before do
632
672
  stub_get("/1.1/friends/list.json").with(:query => {:cursor => "1418947360875712729", :user_id => "7505382"}).to_return(:body => fixture("friends_list2.json"), :headers => {:content_type => "application/json; charset=utf-8"})
633
673
  end
634
674
  it "requests the correct resource" do
635
- @client.friends(7505382).all
675
+ @client.friends(7505382).each{}
636
676
  expect(a_get("/1.1/friends/list.json").with(:query => {:cursor => "-1", :user_id => "7505382"})).to have_been_made
637
677
  expect(a_get("/1.1/friends/list.json").with(:query => {:cursor => "1418947360875712729", :user_id => "7505382"})).to have_been_made
638
678
  end
@@ -651,15 +691,14 @@ describe Twitter::API::FriendsAndFollowers do
651
691
  it "returns a cursor of friends with details for every user the specified user is following" do
652
692
  friends = @client.friends
653
693
  expect(friends).to be_a Twitter::Cursor
654
- expect(friends.users).to be_an Array
655
- expect(friends.users.first).to be_a Twitter::User
694
+ expect(friends.first).to be_a Twitter::User
656
695
  end
657
- context "with all" do
696
+ context "with each" do
658
697
  before do
659
698
  stub_get("/1.1/friends/list.json").with(:query => {:cursor => "1418947360875712729", :screen_name => "sferik"}).to_return(:body => fixture("friends_list2.json"), :headers => {:content_type => "application/json; charset=utf-8"})
660
699
  end
661
700
  it "requests the correct resource" do
662
- @client.friends.all
701
+ @client.friends.each{}
663
702
  expect(a_get("/1.1/account/verify_credentials.json")).to have_been_made
664
703
  expect(a_get("/1.1/friends/list.json").with(:query => {:cursor => "-1", :screen_name => "sferik"})).to have_been_made
665
704
  expect(a_get("/1.1/friends/list.json").with(:query => {:cursor => "1418947360875712729", :screen_name => "sferik"})).to have_been_made
@@ -684,7 +723,7 @@ describe Twitter::API::FriendsAndFollowers do
684
723
  no_retweet_ids = @client.no_retweet_ids
685
724
  expect(no_retweet_ids).to be_an Array
686
725
  expect(no_retweet_ids.first).to be_an Integer
687
- expect(no_retweet_ids.first).to eq 47
726
+ expect(no_retweet_ids.first).to eq(47)
688
727
  end
689
728
  end
690
729
  end