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.
- data.tar.gz.sig +0 -0
- data/CHANGELOG.md +30 -0
- data/LICENSE.md +1 -1
- data/README.md +386 -266
- data/lib/twitter.rb +4 -39
- data/lib/twitter/arguments.rb +11 -0
- data/lib/twitter/base.rb +89 -68
- data/lib/twitter/client.rb +69 -110
- data/lib/twitter/configuration.rb +7 -3
- data/lib/twitter/creatable.rb +2 -4
- data/lib/twitter/cursor.rb +50 -42
- data/lib/twitter/direct_message.rb +2 -11
- data/lib/twitter/entity/uri.rb +13 -0
- data/lib/twitter/enumerable.rb +15 -0
- data/lib/twitter/error.rb +55 -7
- 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/factory.rb +2 -8
- data/lib/twitter/geo_factory.rb +2 -2
- data/lib/twitter/geo_results.rb +36 -0
- data/lib/twitter/identity.rb +0 -22
- data/lib/twitter/list.rb +18 -4
- data/lib/twitter/media/photo.rb +3 -3
- data/lib/twitter/media_factory.rb +2 -2
- data/lib/twitter/null_object.rb +24 -0
- data/lib/twitter/oembed.rb +3 -2
- data/lib/twitter/place.rb +15 -9
- data/lib/twitter/profile_banner.rb +5 -3
- data/lib/twitter/rate_limit.rb +1 -17
- data/lib/twitter/relationship.rb +2 -10
- data/lib/twitter/rest/api/direct_messages.rb +135 -0
- data/lib/twitter/rest/api/favorites.rb +120 -0
- data/lib/twitter/rest/api/friends_and_followers.rb +290 -0
- data/lib/twitter/rest/api/help.rb +58 -0
- data/lib/twitter/rest/api/lists.rb +491 -0
- data/lib/twitter/rest/api/oauth.rb +45 -0
- data/lib/twitter/rest/api/places_and_geo.rb +104 -0
- data/lib/twitter/rest/api/saved_searches.rb +91 -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 +293 -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 +219 -0
- data/lib/twitter/rest/client.rb +193 -0
- data/lib/twitter/rest/request/multipart_with_file.rb +36 -0
- data/lib/twitter/rest/response/parse_json.rb +27 -0
- data/lib/twitter/{response → rest/response}/raise_error.rb +8 -11
- data/lib/twitter/search_results.rb +33 -21
- data/lib/twitter/settings.rb +1 -6
- data/lib/twitter/size.rb +1 -1
- data/lib/twitter/streaming/client.rb +77 -0
- data/lib/twitter/streaming/connection.rb +22 -0
- data/lib/twitter/streaming/response.rb +30 -0
- data/lib/twitter/suggestion.rb +4 -2
- data/lib/twitter/token.rb +8 -0
- data/lib/twitter/trend.rb +2 -1
- data/lib/twitter/trend_results.rb +59 -0
- data/lib/twitter/tweet.rb +41 -85
- data/lib/twitter/user.rb +51 -41
- data/lib/twitter/version.rb +4 -4
- 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/search.json +1 -1
- data/spec/fixtures/search_malformed.json +1 -1
- data/spec/fixtures/track_streaming.json +3 -0
- data/spec/helper.rb +8 -13
- data/spec/twitter/base_spec.rb +25 -99
- data/spec/twitter/configuration_spec.rb +1 -1
- data/spec/twitter/cursor_spec.rb +13 -31
- data/spec/twitter/direct_message_spec.rb +41 -8
- data/spec/twitter/entity/uri_spec.rb +74 -0
- data/spec/twitter/error_spec.rb +59 -11
- data/spec/twitter/geo/point_spec.rb +1 -1
- data/spec/twitter/geo_factory_spec.rb +3 -3
- data/spec/twitter/geo_results_spec.rb +35 -0
- data/spec/twitter/identifiable_spec.rb +0 -21
- data/spec/twitter/list_spec.rb +51 -8
- data/spec/twitter/media/photo_spec.rb +118 -3
- data/spec/twitter/media_factory_spec.rb +2 -2
- data/spec/twitter/null_object_spec.rb +26 -0
- data/spec/twitter/oembed_spec.rb +69 -45
- data/spec/twitter/place_spec.rb +68 -12
- data/spec/twitter/profile_banner_spec.rb +1 -1
- data/spec/twitter/rate_limit_spec.rb +12 -12
- data/spec/twitter/relationship_spec.rb +31 -9
- data/spec/twitter/{api → rest/api}/direct_messages_spec.rb +22 -9
- data/spec/twitter/{api → rest/api}/favorites_spec.rb +80 -7
- data/spec/twitter/{api → rest/api}/friends_and_followers_spec.rb +104 -65
- data/spec/twitter/{api → rest/api}/geo_spec.rb +10 -10
- data/spec/twitter/{api → rest/api}/help_spec.rb +6 -6
- data/spec/twitter/{api → rest/api}/lists_spec.rb +77 -56
- data/spec/twitter/{api → rest/api}/oauth_spec.rb +6 -6
- data/spec/twitter/{api → rest/api}/saved_searches_spec.rb +7 -7
- 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 +60 -35
- data/spec/twitter/rest/client_spec.rb +193 -0
- data/spec/twitter/saved_search_spec.rb +11 -0
- data/spec/twitter/search_results_spec.rb +29 -42
- data/spec/twitter/settings_spec.rb +17 -6
- data/spec/twitter/streaming/client_spec.rb +75 -0
- data/spec/twitter/token_spec.rb +16 -0
- data/spec/twitter/trend_results_spec.rb +89 -0
- data/spec/twitter/trend_spec.rb +23 -0
- data/spec/twitter/tweet_spec.rb +122 -115
- data/spec/twitter/user_spec.rb +136 -77
- data/spec/twitter_spec.rb +0 -119
- data/twitter.gemspec +8 -5
- metadata +148 -141
- 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
metadata.gz.sig
CHANGED
Binary file
|
@@ -1,19 +0,0 @@
|
|
1
|
-
require 'twitter/action/tweet'
|
2
|
-
|
3
|
-
module Twitter
|
4
|
-
module Action
|
5
|
-
class Favorite < Twitter::Action::Tweet
|
6
|
-
attr_reader :target_objects
|
7
|
-
|
8
|
-
# A collection containing the favorited tweet
|
9
|
-
#
|
10
|
-
# @return [Array<Twitter::Tweet>]
|
11
|
-
def targets
|
12
|
-
@targets = Array(@attrs[:targets]).map do |tweet|
|
13
|
-
Twitter::Tweet.fetch_or_new(tweet)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,30 +0,0 @@
|
|
1
|
-
require 'twitter/base'
|
2
|
-
require 'twitter/creatable'
|
3
|
-
|
4
|
-
module Twitter
|
5
|
-
module Action
|
6
|
-
class Follow < Twitter::Base
|
7
|
-
include Twitter::Creatable
|
8
|
-
attr_reader :max_position, :min_position, :target_objects
|
9
|
-
|
10
|
-
# A collection of users who followed a user
|
11
|
-
#
|
12
|
-
# @return [Array<Twitter::User>]
|
13
|
-
def sources
|
14
|
-
@sources = Array(@attrs[:sources]).map do |user|
|
15
|
-
Twitter::User.fetch_or_new(user)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
# A collection containing the followed user
|
20
|
-
#
|
21
|
-
# @return [Array<Twitter::User>]
|
22
|
-
def targets
|
23
|
-
@targets = Array(@attrs[:targets]).map do |user|
|
24
|
-
Twitter::User.fetch_or_new(user)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
require 'twitter/base'
|
2
|
-
require 'twitter/creatable'
|
3
|
-
|
4
|
-
module Twitter
|
5
|
-
module Action
|
6
|
-
class ListMemberAdded < Twitter::Base
|
7
|
-
include Twitter::Creatable
|
8
|
-
attr_reader :max_position, :min_position
|
9
|
-
|
10
|
-
# A collection of users who added a user to a list
|
11
|
-
#
|
12
|
-
# @return [Array<Twitter::User>]
|
13
|
-
def sources
|
14
|
-
@sources = Array(@attrs[:sources]).map do |user|
|
15
|
-
Twitter::User.fetch_or_new(user)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
# A collection of lists that were added to
|
20
|
-
#
|
21
|
-
# @return [Array<Twitter::List>]
|
22
|
-
def target_objects
|
23
|
-
@target_objects = Array(@attrs[:target_objects]).map do |list|
|
24
|
-
Twitter::List.fetch_or_new(list)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
# A collection of users who were added to a list
|
29
|
-
#
|
30
|
-
# @return [Array<Twitter::User>]
|
31
|
-
def targets
|
32
|
-
@targets = Array(@attrs[:targets]).map do |user|
|
33
|
-
Twitter::User.fetch_or_new(user)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
@@ -1,46 +0,0 @@
|
|
1
|
-
require 'twitter/base'
|
2
|
-
require 'twitter/creatable'
|
3
|
-
|
4
|
-
module Twitter
|
5
|
-
module Action
|
6
|
-
class Mention < Twitter::Base
|
7
|
-
include Twitter::Creatable
|
8
|
-
attr_reader :max_position, :min_position
|
9
|
-
|
10
|
-
# A collection of users who mentioned a user
|
11
|
-
#
|
12
|
-
# @return [Array<Twitter::User>]
|
13
|
-
def sources
|
14
|
-
@sources = Array(@attrs[:sources]).map do |user|
|
15
|
-
Twitter::User.fetch_or_new(user)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
# The user who mentioned a user
|
20
|
-
#
|
21
|
-
# @return [Twitter::User]
|
22
|
-
def source
|
23
|
-
@source = sources.first
|
24
|
-
end
|
25
|
-
|
26
|
-
# A collection of tweets that mention a user
|
27
|
-
#
|
28
|
-
# @return [Array<Twitter::Tweet>]
|
29
|
-
def target_objects
|
30
|
-
@target_objects = Array(@attrs[:target_objects]).map do |tweet|
|
31
|
-
Twitter::Tweet.fetch_or_new(tweet)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
# A collection containing the mentioned user
|
36
|
-
#
|
37
|
-
# @return [Array<Twitter::User>]
|
38
|
-
def targets
|
39
|
-
@targets = Array(@attrs[:targets]).map do |user|
|
40
|
-
Twitter::User.fetch_or_new(user)
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
data/lib/twitter/action/reply.rb
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
require 'twitter/action/tweet'
|
2
|
-
|
3
|
-
module Twitter
|
4
|
-
module Action
|
5
|
-
class Reply < Twitter::Action::Tweet
|
6
|
-
|
7
|
-
# A collection of tweets that reply to a user
|
8
|
-
#
|
9
|
-
# @return [Array<Twitter::Tweet>]
|
10
|
-
def target_objects
|
11
|
-
@target_objects = Array(@attrs[:target_objects]).map do |tweet|
|
12
|
-
Twitter::Tweet.fetch_or_new(tweet)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
# A collection that contains the replied-to tweets
|
17
|
-
#
|
18
|
-
# @return [Array<Twitter::Tweet>]
|
19
|
-
def targets
|
20
|
-
@targets = Array(@attrs[:targets]).map do |tweet|
|
21
|
-
Twitter::Tweet.fetch_or_new(tweet)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
require 'twitter/action/tweet'
|
2
|
-
|
3
|
-
module Twitter
|
4
|
-
module Action
|
5
|
-
class Retweet < Twitter::Action::Tweet
|
6
|
-
|
7
|
-
# A collection of retweets
|
8
|
-
#
|
9
|
-
# @return [Array<Twitter::Tweet>]
|
10
|
-
def target_objects
|
11
|
-
@target_objects = Array(@attrs[:target_objects]).map do |tweet|
|
12
|
-
Twitter::Tweet.fetch_or_new(tweet)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
# A collection containing the retweeted user
|
17
|
-
#
|
18
|
-
# @return [Array<Twitter::User>]
|
19
|
-
def targets
|
20
|
-
@targets = Array(@attrs[:targets]).map do |user|
|
21
|
-
Twitter::User.fetch_or_new(user)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
data/lib/twitter/action/tweet.rb
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
require 'twitter/base'
|
2
|
-
require 'twitter/creatable'
|
3
|
-
|
4
|
-
module Twitter
|
5
|
-
module Action
|
6
|
-
class Tweet < Twitter::Base
|
7
|
-
include Twitter::Creatable
|
8
|
-
attr_reader :max_position, :min_position
|
9
|
-
|
10
|
-
# @return [Array<Twitter::User>]
|
11
|
-
def sources
|
12
|
-
@sources = Array(@attrs[:sources]).map do |user|
|
13
|
-
Twitter::User.fetch_or_new(user)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
end
|
18
|
-
Status = Tweet
|
19
|
-
end
|
20
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
require 'twitter/action/favorite'
|
2
|
-
require 'twitter/action/follow'
|
3
|
-
require 'twitter/action/list_member_added'
|
4
|
-
require 'twitter/action/mention'
|
5
|
-
require 'twitter/action/reply'
|
6
|
-
require 'twitter/action/retweet'
|
7
|
-
require 'twitter/factory'
|
8
|
-
|
9
|
-
module Twitter
|
10
|
-
class ActionFactory < Twitter::Factory
|
11
|
-
|
12
|
-
# Instantiates a new action object
|
13
|
-
#
|
14
|
-
# @param attrs [Hash]
|
15
|
-
# @raise [ArgumentError] Error raised when supplied argument is missing an :action key.
|
16
|
-
# @return [Twitter::Action]
|
17
|
-
def self.fetch_or_new(attrs={})
|
18
|
-
super(:action, Twitter::Action, attrs)
|
19
|
-
end
|
20
|
-
|
21
|
-
end
|
22
|
-
end
|
@@ -1,148 +0,0 @@
|
|
1
|
-
require 'twitter/api/arguments'
|
2
|
-
require 'twitter/api/utils'
|
3
|
-
require 'twitter/direct_message'
|
4
|
-
require 'twitter/user'
|
5
|
-
|
6
|
-
module Twitter
|
7
|
-
module API
|
8
|
-
module DirectMessages
|
9
|
-
include Twitter::API::Utils
|
10
|
-
|
11
|
-
# Returns the 20 most recent direct messages sent to the authenticating user
|
12
|
-
#
|
13
|
-
# @see https://dev.twitter.com/docs/api/1.1/get/direct_messages
|
14
|
-
# @note This method requires an access token with RWD (read, write & direct message) permissions. Consult The Application Permission Model for more information.
|
15
|
-
# @rate_limited Yes
|
16
|
-
# @authentication Requires user context
|
17
|
-
# @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are not valid.
|
18
|
-
# @return [Array<Twitter::DirectMessage>] Direct messages sent to the authenticating user.
|
19
|
-
# @param options [Hash] A customizable set of options.
|
20
|
-
# @option options [Integer] :since_id Returns results with an ID greater than (that is, more recent than) the specified ID.
|
21
|
-
# @option options [Integer] :max_id Returns results with an ID less than (that is, older than) or equal to the specified ID.
|
22
|
-
# @option options [Integer] :count Specifies the number of records to retrieve. Must be less than or equal to 200.
|
23
|
-
# @option options [Integer] :page Specifies the page of results to retrieve.
|
24
|
-
# @example Return the 20 most recent direct messages sent to the authenticating user
|
25
|
-
# Twitter.direct_messages_received
|
26
|
-
def direct_messages_received(options={})
|
27
|
-
objects_from_response(Twitter::DirectMessage, :get, "/1.1/direct_messages.json", options)
|
28
|
-
end
|
29
|
-
|
30
|
-
# Returns the 20 most recent direct messages sent by the authenticating user
|
31
|
-
#
|
32
|
-
# @see https://dev.twitter.com/docs/api/1.1/get/direct_messages/sent
|
33
|
-
# @note This method requires an access token with RWD (read, write & direct message) permissions. Consult The Application Permission Model for more information.
|
34
|
-
# @rate_limited Yes
|
35
|
-
# @authentication Requires user context
|
36
|
-
# @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are not valid.
|
37
|
-
# @return [Array<Twitter::DirectMessage>] Direct messages sent by the authenticating user.
|
38
|
-
# @param options [Hash] A customizable set of options.
|
39
|
-
# @option options [Integer] :since_id Returns results with an ID greater than (that is, more recent than) the specified ID.
|
40
|
-
# @option options [Integer] :max_id Returns results with an ID less than (that is, older than) or equal to the specified ID.
|
41
|
-
# @option options [Integer] :count Specifies the number of records to retrieve. Must be less than or equal to 200.
|
42
|
-
# @option options [Integer] :page Specifies the page of results to retrieve.
|
43
|
-
# @example Return the 20 most recent direct messages sent by the authenticating user
|
44
|
-
# Twitter.direct_messages_sent
|
45
|
-
def direct_messages_sent(options={})
|
46
|
-
objects_from_response(Twitter::DirectMessage, :get, "/1.1/direct_messages/sent.json", options)
|
47
|
-
end
|
48
|
-
|
49
|
-
# Returns a direct message
|
50
|
-
#
|
51
|
-
# @see https://dev.twitter.com/docs/api/1.1/get/direct_messages/show
|
52
|
-
# @note This method requires an access token with RWD (read, write & direct message) permissions. Consult The Application Permission Model for more information.
|
53
|
-
# @rate_limited Yes
|
54
|
-
# @authentication Requires user context
|
55
|
-
# @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are not valid.
|
56
|
-
# @return [Twitter::DirectMessage] The requested messages.
|
57
|
-
# @param id [Integer] A Tweet IDs.
|
58
|
-
# @param options [Hash] A customizable set of options.
|
59
|
-
# @example Return the direct message with the id 1825786345
|
60
|
-
# Twitter.direct_message(1825786345)
|
61
|
-
def direct_message(id, options={})
|
62
|
-
options[:id] = id
|
63
|
-
object_from_response(Twitter::DirectMessage, :get, "/1.1/direct_messages/show.json", options)
|
64
|
-
end
|
65
|
-
|
66
|
-
# @note This method requires an access token with RWD (read, write & direct message) permissions. Consult The Application Permission Model for more information.
|
67
|
-
# @rate_limited Yes
|
68
|
-
# @authentication Requires user context
|
69
|
-
# @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are not valid.
|
70
|
-
# @return [Array<Twitter::DirectMessage>] The requested messages.
|
71
|
-
# @overload direct_messages(options={})
|
72
|
-
# Returns the 20 most recent direct messages sent to the authenticating user
|
73
|
-
#
|
74
|
-
# @see https://dev.twitter.com/docs/api/1.1/get/direct_messages
|
75
|
-
# @param options [Hash] A customizable set of options.
|
76
|
-
# @option options [Integer] :since_id Returns results with an ID greater than (that is, more recent than) the specified ID.
|
77
|
-
# @option options [Integer] :max_id Returns results with an ID less than (that is, older than) or equal to the specified ID.
|
78
|
-
# @option options [Integer] :count Specifies the number of records to retrieve. Must be less than or equal to 200.
|
79
|
-
# @option options [Integer] :page Specifies the page of results to retrieve.
|
80
|
-
# @example Return the 20 most recent direct messages sent to the authenticating user
|
81
|
-
# Twitter.direct_messages
|
82
|
-
# @overload direct_messages(*ids)
|
83
|
-
# Returns direct messages
|
84
|
-
#
|
85
|
-
# @see https://dev.twitter.com/docs/api/1.1/get/direct_messages/show
|
86
|
-
# @param ids [Array<Integer>, Set<Integer>] An array of Tweet IDs.
|
87
|
-
# @example Return the direct message with the id 1825786345
|
88
|
-
# Twitter.direct_messages(1825786345)
|
89
|
-
# @overload direct_messages(*ids, options)
|
90
|
-
# Returns direct messages
|
91
|
-
#
|
92
|
-
# @see https://dev.twitter.com/docs/api/1.1/get/direct_messages/show
|
93
|
-
# @param ids [Array<Integer>, Set<Integer>] An array of Tweet IDs.
|
94
|
-
# @param options [Hash] A customizable set of options.
|
95
|
-
def direct_messages(*args)
|
96
|
-
arguments = Twitter::API::Arguments.new(args)
|
97
|
-
if arguments.empty?
|
98
|
-
direct_messages_received(arguments.options)
|
99
|
-
else
|
100
|
-
arguments.flatten.threaded_map do |id|
|
101
|
-
direct_message(id, arguments.options)
|
102
|
-
end
|
103
|
-
end
|
104
|
-
end
|
105
|
-
|
106
|
-
# Destroys direct messages
|
107
|
-
#
|
108
|
-
# @see https://dev.twitter.com/docs/api/1.1/post/direct_messages/destroy
|
109
|
-
# @note This method requires an access token with RWD (read, write & direct message) permissions. Consult The Application Permission Model for more information.
|
110
|
-
# @rate_limited No
|
111
|
-
# @authentication Requires user context
|
112
|
-
# @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are not valid.
|
113
|
-
# @return [Array<Twitter::DirectMessage>] Deleted direct message.
|
114
|
-
# @overload direct_message_destroy(*ids)
|
115
|
-
# @param ids [Array<Integer>, Set<Integer>] An array of Tweet IDs.
|
116
|
-
# @example Destroys the direct message with the ID 1825785544
|
117
|
-
# Twitter.direct_message_destroy(1825785544)
|
118
|
-
# @overload direct_message_destroy(*ids, options)
|
119
|
-
# @param ids [Array<Integer>, Set<Integer>] An array of Tweet IDs.
|
120
|
-
# @param options [Hash] A customizable set of options.
|
121
|
-
def direct_message_destroy(*args)
|
122
|
-
threaded_object_from_response(Twitter::DirectMessage, :post, "/1.1/direct_messages/destroy.json", args)
|
123
|
-
end
|
124
|
-
|
125
|
-
# Sends a new direct message to the specified user from the authenticating user
|
126
|
-
#
|
127
|
-
# @see https://dev.twitter.com/docs/api/1.1/post/direct_messages/new
|
128
|
-
# @rate_limited No
|
129
|
-
# @authentication Requires user context
|
130
|
-
# @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are not valid.
|
131
|
-
# @return [Twitter::DirectMessage] The sent message.
|
132
|
-
# @param user [Integer, String, Twitter::User] A Twitter user ID, screen name, or object.
|
133
|
-
# @param text [String] The text of your direct message, up to 140 characters.
|
134
|
-
# @param options [Hash] A customizable set of options.
|
135
|
-
# @example Send a direct message to @sferik from the authenticating user
|
136
|
-
# Twitter.direct_message_create('sferik', "I'm sending you this message via @gem!")
|
137
|
-
# Twitter.direct_message_create(7505382, "I'm sending you this message via @gem!") # Same as above
|
138
|
-
def direct_message_create(user, text, options={})
|
139
|
-
merge_user!(options, user)
|
140
|
-
options[:text] = text
|
141
|
-
object_from_response(Twitter::DirectMessage, :post, "/1.1/direct_messages/new.json", options)
|
142
|
-
end
|
143
|
-
alias d direct_message_create
|
144
|
-
alias m direct_message_create
|
145
|
-
|
146
|
-
end
|
147
|
-
end
|
148
|
-
end
|
@@ -1,126 +0,0 @@
|
|
1
|
-
require 'twitter/api/arguments'
|
2
|
-
require 'twitter/api/utils'
|
3
|
-
require 'twitter/error/already_favorited'
|
4
|
-
require 'twitter/error/forbidden'
|
5
|
-
require 'twitter/tweet'
|
6
|
-
require 'twitter/user'
|
7
|
-
|
8
|
-
module Twitter
|
9
|
-
module API
|
10
|
-
module Favorites
|
11
|
-
include Twitter::API::Utils
|
12
|
-
|
13
|
-
# @see https://dev.twitter.com/docs/api/1.1/get/favorites/list
|
14
|
-
# @rate_limited Yes
|
15
|
-
# @authentication Requires user context
|
16
|
-
# @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are not valid.
|
17
|
-
# @return [Array<Twitter::Tweet>] favorite Tweets.
|
18
|
-
# @overload favorites(options={})
|
19
|
-
# Returns the 20 most recent favorite Tweets for the authenticating user
|
20
|
-
#
|
21
|
-
# @param options [Hash] A customizable set of options.
|
22
|
-
# @option options [Integer] :count Specifies the number of records to retrieve. Must be less than or equal to 100.
|
23
|
-
# @option options [Integer] :since_id Returns results with an ID greater than (that is, more recent than) the specified ID.
|
24
|
-
# @example Return the 20 most recent favorite Tweets for the authenticating user
|
25
|
-
# Twitter.favorites
|
26
|
-
# @overload favorites(user, options={})
|
27
|
-
# Returns the 20 most recent favorite Tweets for the specified user
|
28
|
-
#
|
29
|
-
# @param user [Integer, String, Twitter::User] A Twitter user ID, screen name, or object.
|
30
|
-
# @param options [Hash] A customizable set of options.
|
31
|
-
# @option options [Integer] :count Specifies the number of records to retrieve. Must be less than or equal to 100.
|
32
|
-
# @option options [Integer] :since_id Returns results with an ID greater than (that is, more recent than) the specified ID.
|
33
|
-
# @example Return the 20 most recent favorite Tweets for @sferik
|
34
|
-
# Twitter.favorites('sferik')
|
35
|
-
def favorites(*args)
|
36
|
-
arguments = Twitter::API::Arguments.new(args)
|
37
|
-
if user = arguments.pop
|
38
|
-
merge_user!(arguments.options, user)
|
39
|
-
end
|
40
|
-
objects_from_response(Twitter::Tweet, :get, "/1.1/favorites/list.json", arguments.options)
|
41
|
-
end
|
42
|
-
alias favourites favorites
|
43
|
-
|
44
|
-
# Un-favorites the specified Tweets as the authenticating user
|
45
|
-
#
|
46
|
-
# @see https://dev.twitter.com/docs/api/1.1/post/favorites/destroy
|
47
|
-
# @rate_limited No
|
48
|
-
# @authentication Requires user context
|
49
|
-
# @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are not valid.
|
50
|
-
# @return [Array<Twitter::Tweet>] The un-favorited Tweets.
|
51
|
-
# @overload unfavorite(*ids)
|
52
|
-
# @param ids [Array<Integer>, Set<Integer>] An array of Tweet IDs.
|
53
|
-
# @example Un-favorite the tweet with the ID 25938088801
|
54
|
-
# Twitter.unfavorite(25938088801)
|
55
|
-
# @overload unfavorite(*ids, options)
|
56
|
-
# @param ids [Array<Integer>, Set<Integer>] An array of Tweet IDs.
|
57
|
-
# @param options [Hash] A customizable set of options.
|
58
|
-
def unfavorite(*args)
|
59
|
-
threaded_object_from_response(Twitter::Tweet, :post, "/1.1/favorites/destroy.json", args)
|
60
|
-
end
|
61
|
-
alias favorite_destroy unfavorite
|
62
|
-
alias favourite_destroy unfavorite
|
63
|
-
alias unfavourite unfavorite
|
64
|
-
|
65
|
-
# Favorites the specified Tweets as the authenticating user
|
66
|
-
#
|
67
|
-
# @see https://dev.twitter.com/docs/api/1.1/post/favorites/create
|
68
|
-
# @rate_limited No
|
69
|
-
# @authentication Requires user context
|
70
|
-
# @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are not valid.
|
71
|
-
# @return [Array<Twitter::Tweet>] The favorited Tweets.
|
72
|
-
# @overload favorite(*ids)
|
73
|
-
# @param ids [Array<Integer>, Set<Integer>] An array of Tweet IDs.
|
74
|
-
# @example Favorite the Tweet with the ID 25938088801
|
75
|
-
# Twitter.favorite(25938088801)
|
76
|
-
# @overload favorite(*ids, options)
|
77
|
-
# @param ids [Array<Integer>, Set<Integer>] An array of Tweet IDs.
|
78
|
-
# @param options [Hash] A customizable set of options.
|
79
|
-
def favorite(*args)
|
80
|
-
arguments = Twitter::API::Arguments.new(args)
|
81
|
-
arguments.flatten.threaded_map do |id|
|
82
|
-
begin
|
83
|
-
object_from_response(Twitter::Tweet, :post, "/1.1/favorites/create.json", arguments.options.merge(:id => id))
|
84
|
-
rescue Twitter::Error::Forbidden => error
|
85
|
-
raise unless error.message == Twitter::Error::AlreadyFavorited::MESSAGE
|
86
|
-
end
|
87
|
-
end.compact
|
88
|
-
end
|
89
|
-
alias fav favorite
|
90
|
-
alias fave favorite
|
91
|
-
alias favorite_create favorite
|
92
|
-
alias favourite_create favorite
|
93
|
-
|
94
|
-
# Favorites the specified Tweets as the authenticating user and raises an error if one has already been favorited
|
95
|
-
#
|
96
|
-
# @see https://dev.twitter.com/docs/api/1.1/post/favorites/create
|
97
|
-
# @rate_limited No
|
98
|
-
# @authentication Requires user context
|
99
|
-
# @raise [Twitter::Error::AlreadyFavorited] Error raised when tweet has already been favorited.
|
100
|
-
# @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are not valid.
|
101
|
-
# @return [Array<Twitter::Tweet>] The favorited Tweets.
|
102
|
-
# @overload favorite(*ids)
|
103
|
-
# @param ids [Array<Integer>, Set<Integer>] An array of Tweet IDs.
|
104
|
-
# @example Favorite the Tweet with the ID 25938088801
|
105
|
-
# Twitter.favorite(25938088801)
|
106
|
-
# @overload favorite(*ids, options)
|
107
|
-
# @param ids [Array<Integer>, Set<Integer>] An array of Tweet IDs.
|
108
|
-
# @param options [Hash] A customizable set of options.
|
109
|
-
def favorite!(*args)
|
110
|
-
arguments = Twitter::API::Arguments.new(args)
|
111
|
-
arguments.flatten.threaded_map do |id|
|
112
|
-
begin
|
113
|
-
object_from_response(Twitter::Tweet, :post, "/1.1/favorites/create.json", arguments.options.merge(:id => id))
|
114
|
-
rescue Twitter::Error::Forbidden => error
|
115
|
-
handle_forbidden_error(Twitter::Error::AlreadyFavorited, error)
|
116
|
-
end
|
117
|
-
end
|
118
|
-
end
|
119
|
-
alias fav! favorite!
|
120
|
-
alias fave! favorite!
|
121
|
-
alias favorite_create! favorite!
|
122
|
-
alias favourite_create! favorite!
|
123
|
-
|
124
|
-
end
|
125
|
-
end
|
126
|
-
end
|