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.
- data/CHANGELOG.md +36 -0
- data/CONTRIBUTING.md +13 -15
- data/LICENSE.md +1 -1
- data/README.md +401 -261
- data/Rakefile +6 -0
- data/lib/twitter/arguments.rb +14 -0
- data/lib/twitter/base.rb +109 -89
- data/lib/twitter/client.rb +38 -115
- data/lib/twitter/configuration.rb +5 -2
- data/lib/twitter/core_ext/kernel.rb +5 -1
- data/lib/twitter/creatable.rb +7 -4
- data/lib/twitter/cursor.rb +57 -45
- data/lib/twitter/direct_message.rb +2 -11
- data/lib/twitter/entity/uri.rb +14 -0
- data/lib/twitter/enumerable.rb +15 -0
- data/lib/twitter/error/already_favorited.rb +1 -1
- data/lib/twitter/error/already_posted.rb +10 -0
- data/lib/twitter/error/already_retweeted.rb +1 -1
- data/lib/twitter/error/bad_gateway.rb +2 -3
- data/lib/twitter/error/bad_request.rb +2 -2
- data/lib/twitter/error/forbidden.rb +2 -2
- data/lib/twitter/error/gateway_timeout.rb +2 -3
- data/lib/twitter/error/internal_server_error.rb +2 -3
- data/lib/twitter/error/not_acceptable.rb +2 -2
- data/lib/twitter/error/not_found.rb +2 -2
- data/lib/twitter/error/service_unavailable.rb +2 -3
- data/lib/twitter/error/too_many_requests.rb +2 -2
- data/lib/twitter/error/unauthorized.rb +2 -2
- data/lib/twitter/error/unprocessable_entity.rb +2 -2
- data/lib/twitter/error.rb +65 -14
- data/lib/twitter/factory.rb +13 -12
- data/lib/twitter/geo.rb +2 -7
- data/lib/twitter/geo_factory.rb +11 -7
- data/lib/twitter/geo_results.rb +40 -0
- data/lib/twitter/identity.rb +4 -34
- data/lib/twitter/list.rb +21 -4
- data/lib/twitter/media/photo.rb +6 -4
- data/lib/twitter/media_factory.rb +11 -7
- data/lib/twitter/null_object.rb +25 -0
- data/lib/twitter/oembed.rb +3 -2
- data/lib/twitter/place.rb +15 -15
- data/lib/twitter/profile_banner.rb +3 -2
- data/lib/twitter/rate_limit.rb +4 -17
- data/lib/twitter/relationship.rb +2 -19
- data/lib/twitter/rest/api/direct_messages.rb +138 -0
- data/lib/twitter/rest/api/favorites.rb +115 -0
- data/lib/twitter/rest/api/friends_and_followers.rb +287 -0
- data/lib/twitter/rest/api/help.rb +58 -0
- data/lib/twitter/rest/api/lists.rb +498 -0
- data/lib/twitter/rest/api/oauth.rb +62 -0
- data/lib/twitter/rest/api/places_and_geo.rb +86 -0
- data/lib/twitter/rest/api/saved_searches.rb +93 -0
- data/lib/twitter/rest/api/search.rb +37 -0
- data/lib/twitter/rest/api/spam_reporting.rb +29 -0
- data/lib/twitter/rest/api/suggested_users.rb +51 -0
- data/lib/twitter/rest/api/timelines.rb +202 -0
- data/lib/twitter/rest/api/trends.rb +58 -0
- data/lib/twitter/rest/api/tweets.rb +291 -0
- data/lib/twitter/rest/api/undocumented.rb +52 -0
- data/lib/twitter/rest/api/users.rb +383 -0
- data/lib/twitter/rest/api/utils.rb +246 -0
- data/lib/twitter/rest/client.rb +175 -0
- data/lib/twitter/rest/request/multipart_with_file.rb +36 -0
- data/lib/twitter/rest/response/parse_error_json.rb +15 -0
- data/lib/twitter/rest/response/parse_json.rb +31 -0
- data/lib/twitter/{response → rest/response}/raise_error.rb +8 -11
- data/lib/twitter/search_results.rb +37 -21
- data/lib/twitter/settings.rb +1 -6
- data/lib/twitter/size.rb +2 -15
- data/lib/twitter/streaming/client.rb +89 -0
- data/lib/twitter/streaming/connection.rb +22 -0
- data/lib/twitter/streaming/event.rb +35 -0
- data/lib/twitter/streaming/friend_list.rb +13 -0
- data/lib/twitter/streaming/message_parser.rb +18 -0
- data/lib/twitter/streaming/response.rb +34 -0
- data/lib/twitter/suggestion.rb +5 -8
- data/lib/twitter/token.rb +11 -1
- data/lib/twitter/trend.rb +4 -8
- data/lib/twitter/trend_results.rb +65 -0
- data/lib/twitter/tweet.rb +43 -92
- data/lib/twitter/user.rb +72 -47
- data/lib/twitter/version.rb +4 -4
- data/lib/twitter.rb +4 -39
- data/spec/fixtures/already_posted.json +1 -0
- data/spec/fixtures/ids_list.json +1 -1
- data/spec/fixtures/ids_list2.json +1 -1
- data/spec/fixtures/request_token.txt +6 -0
- data/spec/fixtures/search.json +1 -1
- data/spec/fixtures/search_malformed.json +1 -1
- data/spec/fixtures/track_streaming.json +3 -0
- data/spec/fixtures/track_streaming_user.json +5 -0
- data/spec/helper.rb +8 -13
- data/spec/twitter/base_spec.rb +13 -103
- data/spec/twitter/basic_user_spec.rb +3 -3
- data/spec/twitter/configuration_spec.rb +1 -1
- data/spec/twitter/cursor_spec.rb +17 -35
- data/spec/twitter/direct_message_spec.rb +44 -11
- data/spec/twitter/entity/uri_spec.rb +75 -0
- data/spec/twitter/error_spec.rb +59 -11
- data/spec/twitter/geo/point_spec.rb +6 -6
- data/spec/twitter/geo/polygon_spec.rb +5 -5
- data/spec/twitter/geo_factory_spec.rb +4 -4
- data/spec/twitter/geo_results_spec.rb +35 -0
- data/spec/twitter/geo_spec.rb +6 -6
- data/spec/twitter/identifiable_spec.rb +5 -26
- data/spec/twitter/list_spec.rb +54 -11
- data/spec/twitter/media/photo_spec.rb +122 -6
- data/spec/twitter/media_factory_spec.rb +3 -3
- data/spec/twitter/null_object_spec.rb +27 -0
- data/spec/twitter/oembed_spec.rb +69 -45
- data/spec/twitter/place_spec.rb +84 -28
- data/spec/twitter/profile_banner_spec.rb +1 -1
- data/spec/twitter/rate_limit_spec.rb +8 -25
- data/spec/twitter/relationship_spec.rb +26 -12
- data/spec/twitter/{api → rest/api}/direct_messages_spec.rb +28 -15
- data/spec/twitter/{api → rest/api}/favorites_spec.rb +80 -7
- data/spec/twitter/{api → rest/api}/friends_and_followers_spec.rb +121 -152
- data/spec/twitter/{api → rest/api}/geo_spec.rb +9 -23
- data/spec/twitter/{api → rest/api}/help_spec.rb +6 -6
- data/spec/twitter/{api → rest/api}/lists_spec.rb +116 -95
- data/spec/twitter/{api → rest/api}/oauth_spec.rb +21 -10
- data/spec/twitter/{api → rest/api}/saved_searches_spec.rb +13 -13
- data/spec/twitter/{api → rest/api}/search_spec.rb +8 -9
- data/spec/twitter/{api → rest/api}/spam_reporting_spec.rb +3 -3
- data/spec/twitter/{api → rest/api}/suggested_users_spec.rb +5 -5
- data/spec/twitter/{api → rest/api}/timelines_spec.rb +9 -9
- data/spec/twitter/{api → rest/api}/trends_spec.rb +6 -6
- data/spec/twitter/rest/api/tweets_spec.rb +503 -0
- data/spec/twitter/{api → rest/api}/undocumented_spec.rb +19 -45
- data/spec/twitter/{api → rest/api}/users_spec.rb +64 -39
- data/spec/twitter/rest/client_spec.rb +193 -0
- data/spec/twitter/saved_search_spec.rb +14 -3
- data/spec/twitter/search_results_spec.rb +32 -45
- data/spec/twitter/settings_spec.rb +17 -6
- data/spec/twitter/size_spec.rb +5 -15
- data/spec/twitter/source_user_spec.rb +3 -3
- data/spec/twitter/streaming/client_spec.rb +92 -0
- data/spec/twitter/streaming/event_spec.rb +45 -0
- data/spec/twitter/suggestion_spec.rb +5 -15
- data/spec/twitter/target_user_spec.rb +3 -3
- data/spec/twitter/token_spec.rb +16 -0
- data/spec/twitter/trend_results_spec.rb +89 -0
- data/spec/twitter/trend_spec.rb +26 -13
- data/spec/twitter/tweet_spec.rb +137 -124
- data/spec/twitter/user_spec.rb +139 -80
- data/spec/twitter_spec.rb +0 -119
- data/twitter.gemspec +12 -6
- data.tar.gz.sig +0 -0
- metadata +197 -138
- metadata.gz.sig +0 -0
- data/lib/twitter/action/favorite.rb +0 -19
- data/lib/twitter/action/follow.rb +0 -30
- data/lib/twitter/action/list_member_added.rb +0 -39
- data/lib/twitter/action/mention.rb +0 -46
- data/lib/twitter/action/reply.rb +0 -27
- data/lib/twitter/action/retweet.rb +0 -27
- data/lib/twitter/action/tweet.rb +0 -20
- data/lib/twitter/action_factory.rb +0 -22
- data/lib/twitter/api/arguments.rb +0 -13
- data/lib/twitter/api/direct_messages.rb +0 -148
- data/lib/twitter/api/favorites.rb +0 -126
- data/lib/twitter/api/friends_and_followers.rb +0 -334
- data/lib/twitter/api/help.rb +0 -64
- data/lib/twitter/api/lists.rb +0 -618
- data/lib/twitter/api/oauth.rb +0 -44
- data/lib/twitter/api/places_and_geo.rb +0 -121
- data/lib/twitter/api/saved_searches.rb +0 -99
- data/lib/twitter/api/search.rb +0 -37
- data/lib/twitter/api/spam_reporting.rb +0 -30
- data/lib/twitter/api/suggested_users.rb +0 -55
- data/lib/twitter/api/timelines.rb +0 -214
- data/lib/twitter/api/trends.rb +0 -63
- data/lib/twitter/api/tweets.rb +0 -304
- data/lib/twitter/api/undocumented.rb +0 -97
- data/lib/twitter/api/users.rb +0 -439
- data/lib/twitter/api/utils.rb +0 -187
- data/lib/twitter/configurable.rb +0 -96
- data/lib/twitter/default.rb +0 -102
- data/lib/twitter/entity/url.rb +0 -9
- data/lib/twitter/error/client_error.rb +0 -35
- data/lib/twitter/error/decode_error.rb +0 -9
- data/lib/twitter/error/identity_map_key_error.rb +0 -9
- data/lib/twitter/error/server_error.rb +0 -28
- data/lib/twitter/exceptable.rb +0 -36
- data/lib/twitter/identity_map.rb +0 -22
- data/lib/twitter/request/multipart_with_file.rb +0 -34
- data/lib/twitter/response/parse_json.rb +0 -25
- data/spec/fixtures/about_me.json +0 -1
- data/spec/fixtures/activity_summary.json +0 -1
- data/spec/fixtures/bad_gateway.json +0 -1
- data/spec/fixtures/bad_request.json +0 -1
- data/spec/fixtures/by_friends.json +0 -1
- data/spec/fixtures/end_session.json +0 -1
- data/spec/fixtures/forbidden.json +0 -1
- data/spec/fixtures/internal_server_error.json +0 -1
- data/spec/fixtures/not_acceptable.json +0 -1
- data/spec/fixtures/phoenix_search.phoenix +0 -1
- data/spec/fixtures/resolve.json +0 -1
- data/spec/fixtures/service_unavailable.json +0 -1
- data/spec/fixtures/totals.json +0 -1
- data/spec/fixtures/trends.json +0 -1
- data/spec/fixtures/unauthorized.json +0 -1
- data/spec/fixtures/video_facets.json +0 -1
- data/spec/twitter/action/favorite_spec.rb +0 -29
- data/spec/twitter/action/follow_spec.rb +0 -29
- data/spec/twitter/action/list_member_added_spec.rb +0 -41
- data/spec/twitter/action/mention_spec.rb +0 -52
- data/spec/twitter/action/reply_spec.rb +0 -41
- data/spec/twitter/action/retweet_spec.rb +0 -41
- data/spec/twitter/action_factory_spec.rb +0 -35
- data/spec/twitter/action_spec.rb +0 -16
- data/spec/twitter/api/tweets_spec.rb +0 -285
- data/spec/twitter/client_spec.rb +0 -223
- data/spec/twitter/error/client_error_spec.rb +0 -23
- 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 =>
|
|
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
|
|
29
|
-
expect(bearer_token.token_type).to eq
|
|
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
|
|
45
|
-
expect(token.token_type).to
|
|
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
|
|
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
|
|
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
|
|
53
|
+
expect(saved_search.name).to eq("twitter")
|
|
54
54
|
end
|
|
55
55
|
end
|
|
56
56
|
|
|
57
|
-
describe "#
|
|
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.
|
|
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.
|
|
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
|
|
68
|
+
expect(saved_search.name).to eq("twitter")
|
|
69
69
|
end
|
|
70
70
|
end
|
|
71
71
|
|
|
72
|
-
describe "#
|
|
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.
|
|
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.
|
|
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
|
|
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.
|
|
21
|
-
expect(search.
|
|
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
|
|
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("
|
|
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.
|
|
37
|
-
expect(search.
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
64
|
+
expect(locations.first.name).to eq("Ireland")
|
|
65
65
|
end
|
|
66
66
|
end
|
|
67
67
|
|