twitter 5.6.0 → 5.7.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.tar.gz.sig +0 -0
- data/.yardopts +1 -0
- data/CHANGELOG.md +8 -0
- data/README.md +3 -3
- data/Rakefile +1 -1
- data/lib/twitter/base.rb +0 -8
- data/lib/twitter/client.rb +2 -1
- data/lib/twitter/cursor.rb +2 -15
- data/lib/twitter/error.rb +90 -18
- data/lib/twitter/geo_results.rb +0 -10
- data/lib/twitter/request.rb +4 -4
- data/lib/twitter/rest/api.rb +43 -0
- data/lib/twitter/rest/client.rb +10 -44
- data/lib/twitter/rest/direct_messages.rb +138 -0
- data/lib/twitter/rest/favorites.rb +108 -0
- data/lib/twitter/rest/friends_and_followers.rb +281 -0
- data/lib/twitter/rest/help.rb +56 -0
- data/lib/twitter/rest/lists.rb +497 -0
- data/lib/twitter/rest/oauth.rb +65 -0
- data/lib/twitter/rest/places_and_geo.rb +84 -0
- data/lib/twitter/rest/request/multipart_with_file.rb +5 -5
- data/lib/twitter/rest/response/parse_json.rb +2 -4
- data/lib/twitter/rest/response/raise_error.rb +24 -15
- data/lib/twitter/rest/saved_searches.rb +93 -0
- data/lib/twitter/rest/search.rb +37 -0
- data/lib/twitter/rest/spam_reporting.rb +27 -0
- data/lib/twitter/rest/suggested_users.rb +49 -0
- data/lib/twitter/rest/timelines.rb +200 -0
- data/lib/twitter/rest/trends.rb +57 -0
- data/lib/twitter/rest/tweets.rb +309 -0
- data/lib/twitter/rest/undocumented.rb +49 -0
- data/lib/twitter/rest/users.rb +383 -0
- data/lib/twitter/rest/utils.rb +205 -0
- data/lib/twitter/search_results.rb +2 -13
- data/lib/twitter/trend_results.rb +0 -10
- data/lib/twitter/version.rb +1 -1
- data/spec/helper.rb +1 -1
- data/spec/twitter/error_spec.rb +26 -42
- data/spec/twitter/rest/{api/direct_messages_spec.rb → direct_messages_spec.rb} +1 -1
- data/spec/twitter/rest/{api/favorites_spec.rb → favorites_spec.rb} +1 -1
- data/spec/twitter/rest/{api/friends_and_followers_spec.rb → friends_and_followers_spec.rb} +1 -1
- data/spec/twitter/rest/{api/geo_spec.rb → geo_spec.rb} +1 -1
- data/spec/twitter/rest/{api/help_spec.rb → help_spec.rb} +1 -1
- data/spec/twitter/rest/{api/lists_spec.rb → lists_spec.rb} +1 -1
- data/spec/twitter/rest/{api/oauth_spec.rb → oauth_spec.rb} +4 -8
- data/spec/twitter/rest/{api/saved_searches_spec.rb → saved_searches_spec.rb} +1 -1
- data/spec/twitter/rest/{api/search_spec.rb → search_spec.rb} +1 -1
- data/spec/twitter/rest/{api/spam_reporting_spec.rb → spam_reporting_spec.rb} +1 -1
- data/spec/twitter/rest/{api/suggested_users_spec.rb → suggested_users_spec.rb} +1 -1
- data/spec/twitter/rest/{api/timelines_spec.rb → timelines_spec.rb} +1 -1
- data/spec/twitter/rest/{api/trends_spec.rb → trends_spec.rb} +1 -1
- data/spec/twitter/rest/{api/tweets_spec.rb → tweets_spec.rb} +74 -5
- data/spec/twitter/rest/{api/undocumented_spec.rb → undocumented_spec.rb} +1 -1
- data/spec/twitter/rest/{api/users_spec.rb → users_spec.rb} +5 -5
- data/spec/twitter/tweet_spec.rb +1 -1
- data/twitter.gemspec +0 -1
- metadata +247 -237
- metadata.gz.sig +0 -0
- checksums.yaml +0 -7
- checksums.yaml.gz.sig +0 -0
- data/lib/twitter/error/already_favorited.rb +0 -10
- data/lib/twitter/error/already_posted.rb +0 -10
- data/lib/twitter/error/already_retweeted.rb +0 -10
- data/lib/twitter/error/bad_gateway.rb +0 -10
- data/lib/twitter/error/bad_request.rb +0 -10
- data/lib/twitter/error/configuration_error.rb +0 -8
- data/lib/twitter/error/forbidden.rb +0 -10
- data/lib/twitter/error/gateway_timeout.rb +0 -10
- data/lib/twitter/error/internal_server_error.rb +0 -10
- data/lib/twitter/error/not_acceptable.rb +0 -10
- data/lib/twitter/error/not_found.rb +0 -10
- data/lib/twitter/error/request_timeout.rb +0 -10
- data/lib/twitter/error/service_unavailable.rb +0 -10
- data/lib/twitter/error/too_many_requests.rb +0 -12
- data/lib/twitter/error/unauthorized.rb +0 -10
- data/lib/twitter/error/unprocessable_entity.rb +0 -10
- data/lib/twitter/rest/api/direct_messages.rb +0 -140
- data/lib/twitter/rest/api/favorites.rb +0 -115
- data/lib/twitter/rest/api/friends_and_followers.rb +0 -284
- data/lib/twitter/rest/api/help.rb +0 -58
- data/lib/twitter/rest/api/lists.rb +0 -500
- data/lib/twitter/rest/api/oauth.rb +0 -67
- data/lib/twitter/rest/api/places_and_geo.rb +0 -86
- data/lib/twitter/rest/api/saved_searches.rb +0 -95
- data/lib/twitter/rest/api/search.rb +0 -39
- data/lib/twitter/rest/api/spam_reporting.rb +0 -29
- data/lib/twitter/rest/api/suggested_users.rb +0 -51
- data/lib/twitter/rest/api/timelines.rb +0 -202
- data/lib/twitter/rest/api/trends.rb +0 -58
- data/lib/twitter/rest/api/tweets.rb +0 -297
- data/lib/twitter/rest/api/undocumented.rb +0 -51
- data/lib/twitter/rest/api/users.rb +0 -383
- data/lib/twitter/rest/api/utils.rb +0 -212
metadata.gz.sig
CHANGED
|
Binary file
|
checksums.yaml
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
SHA1:
|
|
3
|
-
metadata.gz: dda8dd395f86366d6a6afb036d588f96fee8d48a
|
|
4
|
-
data.tar.gz: 2d90bbbeef08919eea3c8274800a9086eb72fab1
|
|
5
|
-
SHA512:
|
|
6
|
-
metadata.gz: 1c5cdf8e00944217c80803067e3dc46b547a448943b1ffab6fd7636bfb2e039b18e791e487865fd1d86d97b14abab7537407e9ccffb385c30996748cdf93bc6f
|
|
7
|
-
data.tar.gz: 0d20f6820ee2d37ae35a28ede0123fb7a27ef090217cbff427e4df86f447323b63c013017a08b55a6c955a36050cbef185bda2df902f45ab778dc3d9bd080cc2
|
checksums.yaml.gz.sig
DELETED
|
Binary file
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
require 'twitter/error/forbidden'
|
|
2
|
-
|
|
3
|
-
module Twitter
|
|
4
|
-
class Error
|
|
5
|
-
# Raised when a Tweet has already been retweeted
|
|
6
|
-
class AlreadyRetweeted < Twitter::Error::Forbidden
|
|
7
|
-
MESSAGE = 'sharing is not permissible for this status (Share validations failed)'
|
|
8
|
-
end
|
|
9
|
-
end
|
|
10
|
-
end
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
require 'twitter/error'
|
|
2
|
-
|
|
3
|
-
module Twitter
|
|
4
|
-
class Error
|
|
5
|
-
# Raised when Twitter returns the HTTP status code 429
|
|
6
|
-
class TooManyRequests < Twitter::Error
|
|
7
|
-
HTTP_STATUS_CODE = 429
|
|
8
|
-
end
|
|
9
|
-
EnhanceYourCalm = TooManyRequests # rubocop:disable ConstantName
|
|
10
|
-
RateLimited = TooManyRequests # rubocop:disable ConstantName
|
|
11
|
-
end
|
|
12
|
-
end
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
require 'twitter/arguments'
|
|
2
|
-
require 'twitter/direct_message'
|
|
3
|
-
require 'twitter/request'
|
|
4
|
-
require 'twitter/rest/api/utils'
|
|
5
|
-
require 'twitter/user'
|
|
6
|
-
require 'twitter/utils'
|
|
7
|
-
|
|
8
|
-
module Twitter
|
|
9
|
-
module REST
|
|
10
|
-
module API
|
|
11
|
-
module DirectMessages
|
|
12
|
-
include Twitter::REST::API::Utils
|
|
13
|
-
include Twitter::Utils
|
|
14
|
-
|
|
15
|
-
# Returns the 20 most recent direct messages sent to the authenticating user
|
|
16
|
-
#
|
|
17
|
-
# @see https://dev.twitter.com/docs/api/1.1/get/direct_messages
|
|
18
|
-
# @note This method requires an access token with RWD (read, write & direct message) permissions. Consult The Application Permission Model for more information.
|
|
19
|
-
# @rate_limited Yes
|
|
20
|
-
# @authentication Requires user context
|
|
21
|
-
# @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are not valid.
|
|
22
|
-
# @return [Array<Twitter::DirectMessage>] Direct messages sent to the authenticating user.
|
|
23
|
-
# @param options [Hash] A customizable set of options.
|
|
24
|
-
# @option options [Integer] :since_id Returns results with an ID greater than (that is, more recent than) the specified ID.
|
|
25
|
-
# @option options [Integer] :max_id Returns results with an ID less than (that is, older than) or equal to the specified ID.
|
|
26
|
-
# @option options [Integer] :count Specifies the number of records to retrieve. Must be less than or equal to 200.
|
|
27
|
-
# @option options [Integer] :page Specifies the page of results to retrieve.
|
|
28
|
-
def direct_messages_received(options = {})
|
|
29
|
-
perform_with_objects(:get, '/1.1/direct_messages.json', options, Twitter::DirectMessage)
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
# Returns the 20 most recent direct messages sent by the authenticating user
|
|
33
|
-
#
|
|
34
|
-
# @see https://dev.twitter.com/docs/api/1.1/get/direct_messages/sent
|
|
35
|
-
# @note This method requires an access token with RWD (read, write & direct message) permissions. Consult The Application Permission Model for more information.
|
|
36
|
-
# @rate_limited Yes
|
|
37
|
-
# @authentication Requires user context
|
|
38
|
-
# @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are not valid.
|
|
39
|
-
# @return [Array<Twitter::DirectMessage>] Direct messages sent by the authenticating user.
|
|
40
|
-
# @param options [Hash] A customizable set of options.
|
|
41
|
-
# @option options [Integer] :since_id Returns results with an ID greater than (that is, more recent than) the specified ID.
|
|
42
|
-
# @option options [Integer] :max_id Returns results with an ID less than (that is, older than) or equal to the specified ID.
|
|
43
|
-
# @option options [Integer] :count Specifies the number of records to retrieve. Must be less than or equal to 200.
|
|
44
|
-
# @option options [Integer] :page Specifies the page of results to retrieve.
|
|
45
|
-
def direct_messages_sent(options = {})
|
|
46
|
-
perform_with_objects(:get, '/1.1/direct_messages/sent.json', options, Twitter::DirectMessage)
|
|
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 direct message ID.
|
|
58
|
-
# @param options [Hash] A customizable set of options.
|
|
59
|
-
def direct_message(id, options = {})
|
|
60
|
-
options[:id] = id
|
|
61
|
-
perform_with_object(:get, '/1.1/direct_messages/show.json', options, Twitter::DirectMessage)
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
# @note This method requires an access token with RWD (read, write & direct message) permissions. Consult The Application Permission Model for more information.
|
|
65
|
-
# @rate_limited Yes
|
|
66
|
-
# @authentication Requires user context
|
|
67
|
-
# @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are not valid.
|
|
68
|
-
# @return [Array<Twitter::DirectMessage>] The requested messages.
|
|
69
|
-
# @overload direct_messages(options = {})
|
|
70
|
-
# Returns the 20 most recent direct messages sent to the authenticating user
|
|
71
|
-
#
|
|
72
|
-
# @see https://dev.twitter.com/docs/api/1.1/get/direct_messages
|
|
73
|
-
# @param options [Hash] A customizable set of options.
|
|
74
|
-
# @option options [Integer] :since_id Returns results with an ID greater than (that is, more recent than) the specified ID.
|
|
75
|
-
# @option options [Integer] :max_id Returns results with an ID less than (that is, older than) or equal to the specified ID.
|
|
76
|
-
# @option options [Integer] :count Specifies the number of records to retrieve. Must be less than or equal to 200.
|
|
77
|
-
# @option options [Integer] :page Specifies the page of results to retrieve.
|
|
78
|
-
# @overload direct_messages(*ids)
|
|
79
|
-
# Returns direct messages
|
|
80
|
-
#
|
|
81
|
-
# @see https://dev.twitter.com/docs/api/1.1/get/direct_messages/show
|
|
82
|
-
# @param ids [Enumerable<Integer>] A collection of direct message IDs.
|
|
83
|
-
# @overload direct_messages(*ids, options)
|
|
84
|
-
# Returns direct messages
|
|
85
|
-
#
|
|
86
|
-
# @see https://dev.twitter.com/docs/api/1.1/get/direct_messages/show
|
|
87
|
-
# @param ids [Enumerable<Integer>] A collection of direct message IDs.
|
|
88
|
-
# @param options [Hash] A customizable set of options.
|
|
89
|
-
def direct_messages(*args)
|
|
90
|
-
arguments = Twitter::Arguments.new(args)
|
|
91
|
-
if arguments.empty?
|
|
92
|
-
direct_messages_received(arguments.options)
|
|
93
|
-
else
|
|
94
|
-
parallel_map(arguments) do |id|
|
|
95
|
-
direct_message(id, arguments.options)
|
|
96
|
-
end
|
|
97
|
-
end
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
# Destroys direct messages
|
|
101
|
-
#
|
|
102
|
-
# @see https://dev.twitter.com/docs/api/1.1/post/direct_messages/destroy
|
|
103
|
-
# @note This method requires an access token with RWD (read, write & direct message) permissions. Consult The Application Permission Model for more information.
|
|
104
|
-
# @rate_limited No
|
|
105
|
-
# @authentication Requires user context
|
|
106
|
-
# @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are not valid.
|
|
107
|
-
# @return [Array<Twitter::DirectMessage>] Deleted direct message.
|
|
108
|
-
# @overload destroy_direct_message(*ids)
|
|
109
|
-
# @param ids [Enumerable<Integer>] A collection of direct message IDs.
|
|
110
|
-
# @overload destroy_direct_message(*ids, options)
|
|
111
|
-
# @param ids [Enumerable<Integer>] A collection of direct message IDs.
|
|
112
|
-
# @param options [Hash] A customizable set of options.
|
|
113
|
-
def destroy_direct_message(*args)
|
|
114
|
-
parallel_objects_from_response(Twitter::DirectMessage, :post, '/1.1/direct_messages/destroy.json', args)
|
|
115
|
-
end
|
|
116
|
-
deprecate_alias :direct_message_destroy, :destroy_direct_message
|
|
117
|
-
|
|
118
|
-
# Sends a new direct message to the specified user from the authenticating user
|
|
119
|
-
#
|
|
120
|
-
# @see https://dev.twitter.com/docs/api/1.1/post/direct_messages/new
|
|
121
|
-
# @rate_limited No
|
|
122
|
-
# @authentication Requires user context
|
|
123
|
-
# @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are not valid.
|
|
124
|
-
# @return [Twitter::DirectMessage] The sent message.
|
|
125
|
-
# @param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
|
|
126
|
-
# @param text [String] The text of your direct message, up to 140 characters.
|
|
127
|
-
# @param options [Hash] A customizable set of options.
|
|
128
|
-
def create_direct_message(user, text, options = {})
|
|
129
|
-
merge_user!(options, user)
|
|
130
|
-
options[:text] = text
|
|
131
|
-
perform_with_object(:post, '/1.1/direct_messages/new.json', options, Twitter::DirectMessage)
|
|
132
|
-
end
|
|
133
|
-
alias_method :d, :create_direct_message
|
|
134
|
-
alias_method :m, :create_direct_message
|
|
135
|
-
alias_method :dm, :create_direct_message
|
|
136
|
-
deprecate_alias :direct_message_create, :create_direct_message
|
|
137
|
-
end
|
|
138
|
-
end
|
|
139
|
-
end
|
|
140
|
-
end
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
require 'twitter/arguments'
|
|
2
|
-
require 'twitter/error/already_favorited'
|
|
3
|
-
require 'twitter/error/forbidden'
|
|
4
|
-
require 'twitter/request'
|
|
5
|
-
require 'twitter/rest/api/utils'
|
|
6
|
-
require 'twitter/tweet'
|
|
7
|
-
require 'twitter/user'
|
|
8
|
-
require 'twitter/utils'
|
|
9
|
-
|
|
10
|
-
module Twitter
|
|
11
|
-
module REST
|
|
12
|
-
module API
|
|
13
|
-
module Favorites
|
|
14
|
-
include Twitter::REST::API::Utils
|
|
15
|
-
include Twitter::Utils
|
|
16
|
-
|
|
17
|
-
# @see https://dev.twitter.com/docs/api/1.1/get/favorites/list
|
|
18
|
-
# @rate_limited Yes
|
|
19
|
-
# @authentication Requires user context
|
|
20
|
-
# @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are not valid.
|
|
21
|
-
# @return [Array<Twitter::Tweet>] favorite Tweets.
|
|
22
|
-
# @overload favorites(options = {})
|
|
23
|
-
# Returns the 20 most recent favorite Tweets for the authenticating user
|
|
24
|
-
#
|
|
25
|
-
# @param options [Hash] A customizable set of options.
|
|
26
|
-
# @option options [Integer] :count Specifies the number of records to retrieve. Must be less than or equal to 100.
|
|
27
|
-
# @option options [Integer] :since_id Returns results with an ID greater than (that is, more recent than) the specified ID.
|
|
28
|
-
# @overload favorites(user, options = {})
|
|
29
|
-
# Returns the 20 most recent favorite Tweets for the specified user
|
|
30
|
-
#
|
|
31
|
-
# @param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
|
|
32
|
-
# @param options [Hash] A customizable set of options.
|
|
33
|
-
# @option options [Integer] :count Specifies the number of records to retrieve. Must be less than or equal to 100.
|
|
34
|
-
# @option options [Integer] :since_id Returns results with an ID greater than (that is, more recent than) the specified ID.
|
|
35
|
-
def favorites(*args)
|
|
36
|
-
arguments = Twitter::Arguments.new(args)
|
|
37
|
-
merge_user!(arguments.options, arguments.pop) if arguments.last
|
|
38
|
-
perform_with_objects(:get, '/1.1/favorites/list.json', arguments.options, Twitter::Tweet)
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
# Un-favorites the specified Tweets as the authenticating user
|
|
42
|
-
#
|
|
43
|
-
# @see https://dev.twitter.com/docs/api/1.1/post/favorites/destroy
|
|
44
|
-
# @rate_limited No
|
|
45
|
-
# @authentication Requires user context
|
|
46
|
-
# @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are not valid.
|
|
47
|
-
# @return [Array<Twitter::Tweet>] The un-favorited Tweets.
|
|
48
|
-
# @overload unfavorite(*tweets)
|
|
49
|
-
# @param tweets [Enumerable<Integer, String, URI, Twitter::Tweet>] A collection of Tweet IDs, URIs, or objects.
|
|
50
|
-
# @overload unfavorite(*tweets, options)
|
|
51
|
-
# @param tweets [Enumerable<Integer, String, URI, Twitter::Tweet>] A collection of Tweet IDs, URIs, or objects.
|
|
52
|
-
# @param options [Hash] A customizable set of options.
|
|
53
|
-
def unfavorite(*args)
|
|
54
|
-
parallel_objects_from_response(Twitter::Tweet, :post, '/1.1/favorites/destroy.json', args)
|
|
55
|
-
end
|
|
56
|
-
alias_method :destroy_favorite, :unfavorite
|
|
57
|
-
deprecate_alias :favorite_destroy, :unfavorite
|
|
58
|
-
|
|
59
|
-
# Favorites the specified Tweets as the authenticating user
|
|
60
|
-
#
|
|
61
|
-
# @see https://dev.twitter.com/docs/api/1.1/post/favorites/create
|
|
62
|
-
# @rate_limited No
|
|
63
|
-
# @authentication Requires user context
|
|
64
|
-
# @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are not valid.
|
|
65
|
-
# @return [Array<Twitter::Tweet>] The favorited Tweets.
|
|
66
|
-
# @overload favorite(*tweets)
|
|
67
|
-
# @param tweets [Enumerable<Integer, String, URI, Twitter::Tweet>] A collection of Tweet IDs, URIs, or objects.
|
|
68
|
-
# @overload favorite(*tweets, options)
|
|
69
|
-
# @param tweets [Enumerable<Integer, String, URI, Twitter::Tweet>] A collection of Tweet IDs, URIs, or objects.
|
|
70
|
-
# @param options [Hash] A customizable set of options.
|
|
71
|
-
def favorite(*args)
|
|
72
|
-
arguments = Twitter::Arguments.new(args)
|
|
73
|
-
parallel_map(arguments) do |tweet|
|
|
74
|
-
begin
|
|
75
|
-
perform_with_object(:post, '/1.1/favorites/create.json', arguments.options.merge(:id => extract_id(tweet)), Twitter::Tweet)
|
|
76
|
-
rescue Twitter::Error::Forbidden => error
|
|
77
|
-
raise unless error.message == Twitter::Error::AlreadyFavorited::MESSAGE
|
|
78
|
-
end
|
|
79
|
-
end.compact
|
|
80
|
-
end
|
|
81
|
-
alias_method :fav, :favorite
|
|
82
|
-
alias_method :fave, :favorite
|
|
83
|
-
deprecate_alias :favorite_create, :favorite
|
|
84
|
-
|
|
85
|
-
# Favorites the specified Tweets as the authenticating user and raises an error if one has already been favorited
|
|
86
|
-
#
|
|
87
|
-
# @see https://dev.twitter.com/docs/api/1.1/post/favorites/create
|
|
88
|
-
# @rate_limited No
|
|
89
|
-
# @authentication Requires user context
|
|
90
|
-
# @raise [Twitter::Error::AlreadyFavorited] Error raised when tweet has already been favorited.
|
|
91
|
-
# @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are not valid.
|
|
92
|
-
# @return [Array<Twitter::Tweet>] The favorited Tweets.
|
|
93
|
-
# @overload favorite(*tweets)
|
|
94
|
-
# @param tweets [Enumerable<Integer, String, URI, Twitter::Tweet>] A collection of Tweet IDs, URIs, or objects.
|
|
95
|
-
# @overload favorite(*tweets, options)
|
|
96
|
-
# @param tweets [Enumerable<Integer, String, URI, Twitter::Tweet>] A collection of Tweet IDs, URIs, or objects.
|
|
97
|
-
# @param options [Hash] A customizable set of options.
|
|
98
|
-
def favorite!(*args)
|
|
99
|
-
arguments = Twitter::Arguments.new(args)
|
|
100
|
-
parallel_map(arguments) do |tweet|
|
|
101
|
-
begin
|
|
102
|
-
perform_with_object(:post, '/1.1/favorites/create.json', arguments.options.merge(:id => extract_id(tweet)), Twitter::Tweet)
|
|
103
|
-
rescue Twitter::Error::Forbidden => error
|
|
104
|
-
handle_forbidden_error(Twitter::Error::AlreadyFavorited, error)
|
|
105
|
-
end
|
|
106
|
-
end
|
|
107
|
-
end
|
|
108
|
-
alias_method :create_favorite!, :favorite!
|
|
109
|
-
alias_method :fav!, :favorite!
|
|
110
|
-
alias_method :fave!, :favorite!
|
|
111
|
-
deprecate_alias :favorite_create!, :favorite!
|
|
112
|
-
end
|
|
113
|
-
end
|
|
114
|
-
end
|
|
115
|
-
end
|