Module: Octokit::Client::Users
- Included in:
- Octokit::Client
- Defined in:
- lib/octokit/client/users.rb
Overview
Methods for the Users API
Instance Method Summary collapse
-
#add_email(email, _options = {}) ⇒ Array<String>
Add email address to user.
-
#add_key(title, key, options = {}) ⇒ Sawyer::Resource
Add public key to user account.
-
#all_users(options = {}) ⇒ Array<Sawyer::Resource>
List all GitHub users.
-
#delete_user_migration_archive(id, options = {}) ⇒ Object
Deletes a previous migration archive.
-
#emails(options = {}) ⇒ Array<String>
List email addresses for a user.
-
#exchange_code_for_token(code, app_id = client_id, app_secret = client_secret, options = {}) ⇒ Sawyer::Resource
Retrieve the access_token.
-
#follow(user, options = {}) ⇒ Boolean
Follow a user.
-
#followers(user = login, options = {}) ⇒ Array<Sawyer::Resource>
Get a user’s followers.
-
#following(user = login, options = {}) ⇒ Array<Sawyer::Resource>
Get list of users a user is following.
-
#follows?(*args) ⇒ Boolean
Check if you are following a user.
-
#key(key_id, options = {}) ⇒ Sawyer::Resource
Get a public key.
-
#keys(options = {}) ⇒ Array<Sawyer::Resource>
Get list of public keys for user.
-
#refresh_access_token(code, app_id = client_id, app_secret = client_secret, options = {}) ⇒ Sawyer::Resource
Refresh a user’s access token with a refresh token.
-
#remove_email(email) ⇒ Array<String>
Remove email from user.
-
#remove_key(id, options = {}) ⇒ Boolean
Remove a public key from user account.
-
#starred(user = login, options = {}) ⇒ Array<Sawyer::Resource>
Get list of repos starred by a user.
-
#starred?(repo, options = {}) ⇒ Boolean
Check if you are starring a repo.
-
#start_user_migration(repositories, options = {}) ⇒ Sawyer::Resource
Initiates the generation of a migration archive.
-
#subscriptions(user = login, options = {}) ⇒ Array<Sawyer::Resource>
(also: #watched)
List repositories being watched by a user.
-
#unfollow(user, options = {}) ⇒ Boolean
Unfollow a user.
-
#unlock_user_repository(id, repo, options = {}) ⇒ Object
Unlock a user repository which has been locked by a migration.
-
#update_key(key_id, options = {}) ⇒ Sawyer::Resource
deprecated
Deprecated.
This method is no longer supported in the API
-
#update_user(options) ⇒ Sawyer::Resource
Update the authenticated user.
-
#user(user = nil, options = {}) ⇒ Sawyer::Resource
Get a single user.
-
#user_keys(user, options = {}) ⇒ Array<Sawyer::Resource>
Get list of public keys for user.
-
#user_migration_archive_url(id, options = {}) ⇒ Object
Fetches the URL to a migration archive.
-
#user_migration_repositories(id, options = {}) ⇒ Object
List repositories for a user migration.
-
#user_migration_status(id, options = {}) ⇒ Object
Fetches the status of a migration.
-
#user_migrations(options = {}) ⇒ Array<Sawyer::Resource>
Lists the most recent migrations.
-
#validate_credentials(options = {}) ⇒ Boolean
Validate user username and password.
Instance Method Details
#add_email(email, _options = {}) ⇒ Array<String>
Add email address to user.
Requires authenticated client.
339 340 341 342 |
# File 'lib/octokit/client/users.rb', line 339 def add_email(email, = {}) email = Array(email) post 'user/emails', email end |
#add_key(title, key, options = {}) ⇒ Sawyer::Resource
Add public key to user account.
Requires authenticated client.
282 283 284 |
# File 'lib/octokit/client/users.rb', line 282 def add_key(title, key, = {}) post 'user/keys', .merge({ title: title, key: key }) end |
#all_users(options = {}) ⇒ Array<Sawyer::Resource>
List all GitHub users
This provides a list of every user, in the order that they signed up for GitHub.
21 22 23 |
# File 'lib/octokit/client/users.rb', line 21 def all_users( = {}) paginate 'users', end |
#delete_user_migration_archive(id, options = {}) ⇒ Object
Deletes a previous migration archive.
Requires authenticated user.
425 426 427 |
# File 'lib/octokit/client/users.rb', line 425 def delete_user_migration_archive(id, = {}) delete "user/migrations/#{id}/archive", end |
#emails(options = {}) ⇒ Array<String>
List email addresses for a user.
Requires authenticated client.
326 327 328 |
# File 'lib/octokit/client/users.rb', line 326 def emails( = {}) paginate 'user/emails', end |
#exchange_code_for_token(code, app_id = client_id, app_secret = client_secret, options = {}) ⇒ Sawyer::Resource
Retrieve the access_token.
46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/octokit/client/users.rb', line 46 def exchange_code_for_token(code, app_id = client_id, app_secret = client_secret, = {}) = .merge({ code: code, client_id: app_id, client_secret: app_secret, headers: { content_type: 'application/json', accept: 'application/json' } }) post "#{web_endpoint}login/oauth/access_token", end |
#follow(user, options = {}) ⇒ Boolean
Follow a user.
Requires authenticatied client.
176 177 178 |
# File 'lib/octokit/client/users.rb', line 176 def follow(user, = {}) boolean_from_response :put, "user/following/#{user}", end |
#followers(user = login, options = {}) ⇒ Array<Sawyer::Resource>
Get a user’s followers.
126 127 128 |
# File 'lib/octokit/client/users.rb', line 126 def followers(user = login, = {}) paginate "#{User.path user}/followers", end |
#following(user = login, options = {}) ⇒ Array<Sawyer::Resource>
Get list of users a user is following.
139 140 141 |
# File 'lib/octokit/client/users.rb', line 139 def following(user = login, = {}) paginate "#{User.path user}/following", end |
#follows?(target) ⇒ Boolean #follows?(user, target) ⇒ Boolean
Check if you are following a user. Alternatively, check if a given user is following a target user.
Requries an authenticated client.
161 162 163 164 165 |
# File 'lib/octokit/client/users.rb', line 161 def follows?(*args) target = args.pop user = args.first boolean_from_response :get, "#{User.path user}/following/#{target}" end |
#key(key_id, options = {}) ⇒ Sawyer::Resource
Get a public key.
Note, when using dot notation to retrieve the values, ruby will return the hash key for the public keys value instead of the actual value, use symbol or key string to retrieve the value. See example.
Requires authenticated client.
244 245 246 |
# File 'lib/octokit/client/users.rb', line 244 def key(key_id, = {}) get "user/keys/#{key_id}", end |
#keys(options = {}) ⇒ Array<Sawyer::Resource>
Get list of public keys for user.
Requires authenticated client.
256 257 258 |
# File 'lib/octokit/client/users.rb', line 256 def keys( = {}) paginate 'user/keys', end |
#refresh_access_token(code, app_id = client_id, app_secret = client_secret, options = {}) ⇒ Sawyer::Resource
Refresh a user’s access token with a refresh token.
Applications can refresh an access token without requiring a user to re-authorize using refresh access token.
72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/octokit/client/users.rb', line 72 def refresh_access_token(code, app_id = client_id, app_secret = client_secret, = {}) = .merge({ refresh_token: code, client_id: app_id, client_secret: app_secret, grant_type: 'refresh_token', headers: { content_type: 'application/json', accept: 'application/json' } }) post "#{web_endpoint}login/oauth/access_token", end |
#remove_email(email) ⇒ Array<String>
Remove email from user.
Requires authenticated client.
353 354 355 356 |
# File 'lib/octokit/client/users.rb', line 353 def remove_email(email) email = Array(email) boolean_from_response :delete, 'user/emails', email end |
#remove_key(id, options = {}) ⇒ Boolean
Remove a public key from user account.
Requires authenticated client.
314 315 316 |
# File 'lib/octokit/client/users.rb', line 314 def remove_key(id, = {}) boolean_from_response :delete, "user/keys/#{id}", end |
#starred(user = login, options = {}) ⇒ Array<Sawyer::Resource>
Get list of repos starred by a user.
204 205 206 |
# File 'lib/octokit/client/users.rb', line 204 def starred(user = login, = {}) paginate user_path(user, 'starred'), end |
#starred?(repo, options = {}) ⇒ Boolean
Check if you are starring a repo.
Requires authenticated client.
217 218 219 |
# File 'lib/octokit/client/users.rb', line 217 def starred?(repo, = {}) boolean_from_response :get, "user/starred/#{Repository.new(repo)}", end |
#start_user_migration(repositories, options = {}) ⇒ Sawyer::Resource
Initiates the generation of a migration archive.
Requires authenticated user.
381 382 383 384 |
# File 'lib/octokit/client/users.rb', line 381 def start_user_migration(repositories, = {}) [:repositories] = repositories post 'user/migrations', end |
#subscriptions(user = login, options = {}) ⇒ Array<Sawyer::Resource> Also known as: watched
List repositories being watched by a user.
365 366 367 |
# File 'lib/octokit/client/users.rb', line 365 def subscriptions(user = login, = {}) paginate user_path(user, 'subscriptions'), end |
#unfollow(user, options = {}) ⇒ Boolean
Unfollow a user.
Requires authenticated client.
189 190 191 |
# File 'lib/octokit/client/users.rb', line 189 def unfollow(user, = {}) boolean_from_response :delete, "user/following/#{user}", end |
#unlock_user_repository(id, repo, options = {}) ⇒ Object
Unlock a user repository which has been locked by a migration.
Requires authenticated user.
446 447 448 |
# File 'lib/octokit/client/users.rb', line 446 def unlock_user_repository(id, repo, = {}) delete "user/migrations/#{id}/repos/#{repo}/lock", end |
#update_key(key_id, options = {}) ⇒ Sawyer::Resource
This method is no longer supported in the API
Update a public key
Requires authenticated client
301 302 303 |
# File 'lib/octokit/client/users.rb', line 301 def update_key(key_id, = {}) patch "user/keys/#{key_id}", end |
#update_user(options) ⇒ Sawyer::Resource
Update the authenticated user
113 114 115 |
# File 'lib/octokit/client/users.rb', line 113 def update_user() patch 'user', end |
#user(user = nil, options = {}) ⇒ Sawyer::Resource
Get a single user
33 34 35 |
# File 'lib/octokit/client/users.rb', line 33 def user(user = nil, = {}) get User.path(user), end |
#user_keys(user, options = {}) ⇒ Array<Sawyer::Resource>
Get list of public keys for user.
267 268 269 270 |
# File 'lib/octokit/client/users.rb', line 267 def user_keys(user, = {}) # TODO: Roll this into .keys paginate "#{User.path user}/keys", end |
#user_migration_archive_url(id, options = {}) ⇒ Object
Fetches the URL to a migration archive.
Requires authenticated user.
412 413 414 415 416 417 |
# File 'lib/octokit/client/users.rb', line 412 def user_migration_archive_url(id, = {}) url = "user/migrations/#{id}/archive" response = client_without_redirects().get(url) response.headers['location'] end |
#user_migration_repositories(id, options = {}) ⇒ Object
List repositories for a user migration.
Requires authenticated user.
435 436 437 |
# File 'lib/octokit/client/users.rb', line 435 def user_migration_repositories(id, = {}) get "user/migrations/#{id}/repositories", end |
#user_migration_status(id, options = {}) ⇒ Object
Fetches the status of a migration.
Requires authenticated user.
402 403 404 |
# File 'lib/octokit/client/users.rb', line 402 def user_migration_status(id, = {}) get "user/migrations/#{id}", end |
#user_migrations(options = {}) ⇒ Array<Sawyer::Resource>
Lists the most recent migrations.
Requires authenticated user.
392 393 394 |
# File 'lib/octokit/client/users.rb', line 392 def user_migrations( = {}) paginate 'user/migrations', end |
#validate_credentials(options = {}) ⇒ Boolean
Validate user username and password
93 94 95 96 97 |
# File 'lib/octokit/client/users.rb', line 93 def validate_credentials( = {}) !self.class.new().user.nil? rescue Octokit::Unauthorized false end |