twttr 0.0.3 → 0.0.4
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.
- checksums.yaml +4 -4
- data/lib/twttr/client/endpoint/v2/users/follows.rb +7 -5
- data/lib/twttr/client/endpoint/v2/users.rb +39 -0
- data/lib/twttr/model/user.rb +12 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e199840acca6799e8d3e0e5624510cf9f1a0ba060177dad0b24d9b37b57fb0d9
|
4
|
+
data.tar.gz: 29a188421066cf6de970656874f8cc36d238f5aba1b51430c7d6a019618597bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4bd17869256489e6c5878173cab9251b10bdce1332442cc4d35da4cbc566a8948171ae4bfcc953e368dc85180afe36753468ffa2ec808b25ec34b8e3f51aee2d
|
7
|
+
data.tar.gz: e291aa2e6bdbfe2fd7b350e092e729c33f0e342eb4f2091f62b1ce2ac51cec35fb3b7467e2b57b3fdd5b658a740c31a0debae7b750d84c9c8166d2aef1a8cb69
|
@@ -13,13 +13,15 @@ module Twttr
|
|
13
13
|
# GET /2/users/:id/following
|
14
14
|
# https://developer.twitter.com/en/docs/twitter-api/users/follows/api-reference/get-users-id-following
|
15
15
|
#
|
16
|
+
# Returns paginated list of users followed by user_id.
|
17
|
+
#
|
16
18
|
# @param user_id [String] The user ID whose following you would like to retrieve.
|
17
19
|
# @param max_results [Integer] Max number of results per peage.
|
18
20
|
# @param pagination_token [String] Initial page pagination token.
|
19
21
|
# @yield [Array<Twttr::Model::User>] Users followed by page.
|
22
|
+
# @yield [String,NilClass] Pagination token.
|
20
23
|
# @return [Array<Twttr::Model::User>] Users followed.
|
21
|
-
#
|
22
|
-
def following(user_id, max_results: nil, pagination_token: nil, &block) # rubocop:disable Metrics/MethodLength
|
24
|
+
def following(user_id, max_results: nil, pagination_token: nil, &block) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
23
25
|
response = get(FOLLOWING_PATH, params: { user_id: user_id },
|
24
26
|
query_params: {
|
25
27
|
'user.fields': config.user_fields,
|
@@ -33,11 +35,11 @@ module Twttr
|
|
33
35
|
|
34
36
|
pagination_token = response['meta']['pagination_token']
|
35
37
|
|
36
|
-
|
38
|
+
yield users, pagination_token if block_given?
|
37
39
|
|
38
|
-
|
40
|
+
return users if pagination_token.nil?
|
39
41
|
|
40
|
-
following(user_id, pagination_token, &block)
|
42
|
+
users + following(user_id, pagination_token: pagination_token, &block)
|
41
43
|
end
|
42
44
|
end
|
43
45
|
end
|
@@ -12,23 +12,62 @@ module Twttr
|
|
12
12
|
USER_BY_USERNAME_PATH = "#{V2::V2_PATH}/users/by/username/%<username>s"
|
13
13
|
USER_PATH = "#{V2::V2_PATH}/users/%<user_id>s"
|
14
14
|
|
15
|
+
# GET /2/users/:id/following
|
16
|
+
# https://developer.twitter.com/en/docs/twitter-api/users/follows/api-reference/get-users-id-following
|
17
|
+
#
|
18
|
+
# Returns paginated list of users followed by user_id.
|
19
|
+
#
|
20
|
+
# @param user_id [String] The user ID whose following you would like to retrieve.
|
21
|
+
# @param max_results [Integer] Max number of results per peage.
|
22
|
+
# @param pagination_token [String] Initial page pagination token.
|
23
|
+
# @yield [Array<Twttr::Model::User>] Users followed by page.
|
24
|
+
# @yield [String,NilClass] Pagination token.
|
25
|
+
# @return [Array<Twttr::Model::User>] Users followed.
|
26
|
+
|
27
|
+
# GET /2/users/me
|
28
|
+
# https://developer.twitter.com/en/docs/twitter-api/users/lookup/api-reference/get-users-me
|
29
|
+
#
|
30
|
+
# Returns current authenticated user
|
31
|
+
#
|
32
|
+
# @return [Twttr::Model::User] Current user.
|
15
33
|
def me
|
16
34
|
response = get(ME_PATH, query_params: { 'user.fields': config.user_fields })
|
17
35
|
Model::User.new(response['data'], self)
|
18
36
|
end
|
19
37
|
|
38
|
+
# GET /2/users/:id
|
39
|
+
# https://developer.twitter.com/en/docs/twitter-api/users/lookup/api-reference/get-users-id
|
40
|
+
#
|
41
|
+
# Returns target user by id
|
42
|
+
#
|
43
|
+
# @param user_id [String] Traget user id.
|
44
|
+
# @return [Twttr::Model::User] Target user.
|
20
45
|
def user(user_id)
|
21
46
|
response = get(USER_PATH, params: { user_id: user_id },
|
22
47
|
query_params: { 'user.fields': config.user_fields })
|
23
48
|
Model::User.new(response['data'], self)
|
24
49
|
end
|
25
50
|
|
51
|
+
# GET /2/users/by/username/:username
|
52
|
+
# https://developer.twitter.com/en/docs/twitter-api/users/lookup/api-reference/get-users-by-username-username
|
53
|
+
#
|
54
|
+
# Returns target user by username
|
55
|
+
#
|
56
|
+
# @param username [String] Traget username.
|
57
|
+
# @return [Twttr::Model::User] Target user.
|
26
58
|
def user_by_username(username)
|
27
59
|
response = get(USER_BY_USERNAME_PATH, params: { username: username },
|
28
60
|
query_params: { 'user.fields': config.user_fields })
|
29
61
|
Model::User.new(response['data'], self)
|
30
62
|
end
|
31
63
|
|
64
|
+
# GET /2/users
|
65
|
+
# https://developer.twitter.com/en/docs/twitter-api/users/lookup/api-reference/get-users
|
66
|
+
#
|
67
|
+
# Returns target users by id
|
68
|
+
#
|
69
|
+
# @param user_ids [Array<String>] Traget user ids.
|
70
|
+
# @return [Array<Twttr::Model::User>] Target users.
|
32
71
|
def users(user_ids)
|
33
72
|
response = get(USERS_PATH,
|
34
73
|
query_params: { ids: user_ids.join(','), 'user.fields': config.user_fields })
|
data/lib/twttr/model/user.rb
CHANGED
@@ -15,6 +15,18 @@ module Twttr
|
|
15
15
|
@client = client
|
16
16
|
end
|
17
17
|
|
18
|
+
# Forwards to Follows#following setting user_id to current user's id.
|
19
|
+
#
|
20
|
+
# GET /2/users/:id/following
|
21
|
+
# https://developer.twitter.com/en/docs/twitter-api/users/follows/api-reference/get-users-id-following
|
22
|
+
#
|
23
|
+
# Returns paginated list of users followed by user_id.
|
24
|
+
#
|
25
|
+
# @param max_results [Integer] Max number of results per peage.
|
26
|
+
# @param pagination_token [String] Initial page pagination token.
|
27
|
+
# @yield [Array<Twttr::Model::User>] Users followed by page.
|
28
|
+
# @yield [String,NilClass] Pagination token.
|
29
|
+
# @return [Array<Twttr::Model::User>] Users followed.
|
18
30
|
def following(max_results: nil, pagination_token: nil, &block)
|
19
31
|
client.following(id, max_results: max_results, pagination_token: pagination_token, &block)
|
20
32
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: twttr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roberto Decurnex
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-01-
|
11
|
+
date: 2022-01-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oauth
|