Module: Twitter::REST::Users
Constant Summary collapse
- MAX_USERS_PER_REQUEST =
100
Constants included from Utils
Twitter::REST::Utils::DEFAULT_CURSOR, Twitter::REST::Utils::URI_SUBSTRING
Instance Method Summary collapse
-
#block(*args) ⇒ Array<Twitter::User>
Blocks the users specified by the authenticating user.
-
#block?(user, options = {}) ⇒ Boolean
Returns true if the authenticating user is blocking a target user.
-
#blocked(options = {}) ⇒ Array<Twitter::User>
Returns an array of user objects that the authenticating user is blocking.
-
#blocked_ids(options = {}) ⇒ Twitter::Cursor
Returns an array of numeric user IDs the authenticating user is blocking.
-
#contributees(*args) ⇒ Array<Twitter::User>
Returns an array of users that the specified user can contribute to.
-
#contributors(*args) ⇒ Array<Twitter::User>
Returns an array of users who can contribute to the specified account.
-
#mute(*args) ⇒ Array<Twitter::User>
Mutes the users specified by the authenticating user.
-
#muted(options = {}) ⇒ Array<Twitter::User>
Returns an array of user objects that the authenticating user is muting.
-
#muted_ids(options = {}) ⇒ Twitter::Cursor
Returns an array of numeric user IDs the authenticating user is muting.
-
#profile_banner(*args) ⇒ Twitter::ProfileBanner
Returns the available size variations of the specified user's profile banner.
-
#remove_profile_banner(options = {}) ⇒ nil
Removes the authenticating user's profile banner image.
-
#settings(options = {}) ⇒ Twitter::Settings
Updates the authenticating user's settings.
-
#unblock(*args) ⇒ Array<Twitter::User>
Un-blocks the users specified by the authenticating user.
-
#unmute(*args) ⇒ Array<Twitter::User>
Un-mutes the user specified by the authenticating user.
-
#update_delivery_device(device, options = {}) ⇒ Twitter::User
Sets which device Twitter delivers updates to for the authenticating user.
-
#update_profile(options = {}) ⇒ Twitter::User
Sets values that users are able to set under the "Account" tab of their settings page.
-
#update_profile_background_image(image, options = {}) ⇒ Twitter::User
Updates the authenticating user's profile background image.
-
#update_profile_banner(banner, options = {}) ⇒ nil
Updates the authenticating user's profile banner image.
-
#update_profile_colors(options = {}) ⇒ Twitter::User
Sets one or more hex values that control the color scheme of the authenticating user's profile.
-
#update_profile_image(image, options = {}) ⇒ Twitter::User
Updates the authenticating user's profile image.
-
#user(*args) ⇒ Twitter::User
The requested user.
-
#user?(user, options = {}) ⇒ Boolean
Returns true if the specified user exists.
-
#user_search(query, options = {}) ⇒ Array<Twitter::User>
Returns users that match the given query.
-
#users(*args) ⇒ Array<Twitter::User>
Returns extended information for up to 100 users.
-
#verify_credentials(options = {}) ⇒ Twitter::User
(also: #current_user)
Returns the requesting user if authentication was successful, otherwise raises Error::Unauthorized.
Methods included from Utils
Instance Method Details
#block(*users) ⇒ Array<Twitter::User> #block(*users, options) ⇒ Array<Twitter::User>
Destroys a friendship to the blocked user if it exists.
Blocks the users specified by the authenticating user
197 198 199 |
# File 'lib/twitter/rest/users.rb', line 197 def block(*args) parallel_users_from_response(:post, '/1.1/blocks/create.json', args) end |
#block?(user, options = {}) ⇒ Boolean
Returns true if the authenticating user is blocking a target user
169 170 171 172 173 174 175 176 177 178 179 180 181 182 |
# File 'lib/twitter/rest/users.rb', line 169 def block?(user, = {}) user_id = begin case user when Integer user when String, URI, Addressable::URI user(user).id when Twitter::User user.id end end blocked_ids().collect(&:to_i).include?(user_id) end |
#blocked(options = {}) ⇒ Array<Twitter::User>
Returns an array of user objects that the authenticating user is blocking
140 141 142 |
# File 'lib/twitter/rest/users.rb', line 140 def blocked( = {}) perform_get_with_cursor('/1.1/blocks/list.json', , :users, Twitter::User) end |
#blocked_ids(options = {}) ⇒ Twitter::Cursor
Returns an array of numeric user IDs the authenticating user is blocking
154 155 156 157 158 |
# File 'lib/twitter/rest/users.rb', line 154 def blocked_ids(*args) arguments = Twitter::Arguments.new(args) merge_user!(arguments., arguments.pop) perform_get_with_cursor('/1.1/blocks/ids.json', arguments., :ids) end |
#contributees(options = {}) ⇒ Array<Twitter::User> #contributees(user, options = {}) ⇒ Array<Twitter::User>
Returns an array of users that the specified user can contribute to
306 307 308 |
# File 'lib/twitter/rest/users.rb', line 306 def contributees(*args) users_from_response(:get, '/1.1/users/contributees.json', args) end |
#contributors(options = {}) ⇒ Array<Twitter::User> #contributors(user, options = {}) ⇒ Array<Twitter::User>
Returns an array of users who can contribute to the specified account
324 325 326 |
# File 'lib/twitter/rest/users.rb', line 324 def contributors(*args) users_from_response(:get, '/1.1/users/contributors.json', args) end |
#mute(*users) ⇒ Array<Twitter::User> #mute(*users, options) ⇒ Array<Twitter::User>
Mutes the users specified by the authenticating user
393 394 395 |
# File 'lib/twitter/rest/users.rb', line 393 def mute(*args) parallel_users_from_response(:post, '/1.1/mutes/users/create.json', args) end |
#muted(options = {}) ⇒ Array<Twitter::User>
Returns an array of user objects that the authenticating user is muting
422 423 424 |
# File 'lib/twitter/rest/users.rb', line 422 def muted( = {}) perform_get_with_cursor('/1.1/mutes/users/list.json', , :users, Twitter::User) end |
#muted_ids(options = {}) ⇒ Twitter::Cursor
Returns an array of numeric user IDs the authenticating user is muting
436 437 438 439 440 |
# File 'lib/twitter/rest/users.rb', line 436 def muted_ids(*args) arguments = Twitter::Arguments.new(args) merge_user!(arguments., arguments.pop) perform_get_with_cursor('/1.1/mutes/users/ids.json', arguments., :ids) end |
#profile_banner(options = {}) ⇒ Twitter::ProfileBanner #profile_banner(user, options = {}) ⇒ Twitter::ProfileBanner
If the user has not uploaded a profile banner, a HTTP 404 will be served instead.
Returns the available size variations of the specified user's profile banner.
375 376 377 378 379 |
# File 'lib/twitter/rest/users.rb', line 375 def (*args) arguments = Twitter::Arguments.new(args) merge_user!(arguments., arguments.pop || user_id) unless arguments.[:user_id] || arguments.[:screen_name] perform_get_with_object('/1.1/users/profile_banner.json', arguments., Twitter::ProfileBanner) end |
#remove_profile_banner(options = {}) ⇒ nil
Removes the authenticating user's profile banner image
336 337 338 339 |
# File 'lib/twitter/rest/users.rb', line 336 def ( = {}) perform_post('/1.1/account/remove_profile_banner.json', ) true end |
#settings(options = {}) ⇒ Twitter::Settings
Updates the authenticating user's settings. Or, if no options supplied, returns settings (including current trend, geo and sleep time information) for the authenticating user.
33 34 35 36 37 38 39 |
# File 'lib/twitter/rest/users.rb', line 33 def settings( = {}) request_method = .size.zero? ? :get : :post response = perform_request(request_method.to_sym, '/1.1/account/settings.json', ) # https://dev.twitter.com/issues/59 response.update(:trend_location => response.fetch(:trend_location, []).first) Twitter::Settings.new(response) end |
#unblock(*users) ⇒ Array<Twitter::User> #unblock(*users, options) ⇒ Array<Twitter::User>
Un-blocks the users specified by the authenticating user
213 214 215 |
# File 'lib/twitter/rest/users.rb', line 213 def unblock(*args) parallel_users_from_response(:post, '/1.1/blocks/destroy.json', args) end |
#unmute(*users) ⇒ Array<Twitter::User> #unmute(*users, options) ⇒ Array<Twitter::User>
Un-mutes the user specified by the authenticating user.
409 410 411 |
# File 'lib/twitter/rest/users.rb', line 409 def unmute(*args) parallel_users_from_response(:post, '/1.1/mutes/users/destroy.json', args) end |
#update_delivery_device(device, options = {}) ⇒ Twitter::User
Sets which device Twitter delivers updates to for the authenticating user
64 65 66 |
# File 'lib/twitter/rest/users.rb', line 64 def update_delivery_device(device, = {}) perform_post_with_object('/1.1/account/update_delivery_device.json', .merge(:device => device), Twitter::User) end |
#update_profile(options = {}) ⇒ Twitter::User
Only the options specified will be updated.
Sets values that users are able to set under the "Account" tab of their settings page
81 82 83 |
# File 'lib/twitter/rest/users.rb', line 81 def update_profile( = {}) perform_post_with_object('/1.1/account/update_profile.json', , Twitter::User) end |
#update_profile_background_image(image, options = {}) ⇒ Twitter::User
Updates the authenticating user's profile background image
95 96 97 |
# File 'lib/twitter/rest/users.rb', line 95 def update_profile_background_image(image, = {}) perform_post_with_object('/1.1/account/update_profile_background_image.json', .merge(:image => image), Twitter::User) end |
#update_profile_banner(banner, options = {}) ⇒ nil
Uploads a profile banner on behalf of the authenticating user. For best results, upload an <5MB image that is exactly 1252px by 626px. Images will be resized for a number of display options. Users with an uploaded profile banner will have a profile_banner_url node in their Users objects. More information about sizing variations can be found in User Profile Images and Banners.
Profile banner images are processed asynchronously. The profile_banner_url and its variant sizes will not necessary be available directly after upload.
Updates the authenticating user's profile banner image
359 360 361 362 |
# File 'lib/twitter/rest/users.rb', line 359 def (, = {}) perform_post('/1.1/account/update_profile_banner.json', .merge(:banner => )) true end |
#update_profile_colors(options = {}) ⇒ Twitter::User
Sets one or more hex values that control the color scheme of the authenticating user's profile
112 113 114 |
# File 'lib/twitter/rest/users.rb', line 112 def update_profile_colors( = {}) perform_post_with_object('/1.1/account/update_profile_colors.json', , Twitter::User) end |
#update_profile_image(image, options = {}) ⇒ Twitter::User
Updates the authenticating user's profile image. Note that this method expects raw multipart data, not a URL to an image.
This method asynchronously processes the uploaded file before updating the user's profile image URL. You can either update your local cache the next time you request the user's information, or, at least 5 seconds after uploading the image, ask for the updated URL using GET users/show.
Updates the authenticating user's profile image
127 128 129 |
# File 'lib/twitter/rest/users.rb', line 127 def update_profile_image(image, = {}) perform_post_with_object('/1.1/account/update_profile_image.json', .merge(:image => image), Twitter::User) end |
#user(options = {}) ⇒ Twitter::User #user(user, options = {}) ⇒ Twitter::User
Returns The requested user.
252 253 254 255 256 257 258 259 260 |
# File 'lib/twitter/rest/users.rb', line 252 def user(*args) arguments = Twitter::Arguments.new(args) if arguments.last || user_id? merge_user!(arguments., arguments.pop || user_id) perform_get_with_object('/1.1/users/show.json', arguments., Twitter::User) else verify_credentials(arguments.) end end |
#user?(user, options = {}) ⇒ Boolean
Returns true if the specified user exists
269 270 271 272 273 274 275 |
# File 'lib/twitter/rest/users.rb', line 269 def user?(user, = {}) merge_user!(, user) perform_get('/1.1/users/show.json', ) true rescue Twitter::Error::NotFound false end |
#user_search(query, options = {}) ⇒ Array<Twitter::User>
Returns users that match the given query
288 289 290 |
# File 'lib/twitter/rest/users.rb', line 288 def user_search(query, = {}) perform_get_with_objects('/1.1/users/search.json', .merge(:q => query), Twitter::User) end |
#users(*users) ⇒ Array<Twitter::User> #users(*users, options) ⇒ Array<Twitter::User>
Returns extended information for up to 100 users
229 230 231 232 233 234 |
# File 'lib/twitter/rest/users.rb', line 229 def users(*args) arguments = Twitter::Arguments.new(args) flat_pmap(arguments.each_slice(MAX_USERS_PER_REQUEST)) do |users| perform_post_with_objects('/1.1/users/lookup.json', merge_users(arguments., users), Twitter::User) end end |
#verify_credentials(options = {}) ⇒ Twitter::User Also known as: current_user
Returns the requesting user if authentication was successful, otherwise raises Error::Unauthorized
50 51 52 |
# File 'lib/twitter/rest/users.rb', line 50 def verify_credentials( = {}) perform_get_with_object('/1.1/account/verify_credentials.json', , Twitter::User) end |