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.
-
#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.
-
#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.
-
#subscriptions(user = login, options = {}) ⇒ Array<Sawyer::Resource>
(also: #watched)
List repositories being watched by a user.
-
#unfollow(user, options = {}) ⇒ Boolean
Unfollow a user.
-
#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.
-
#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.
312 313 314 315 |
# File 'lib/octokit/client/users.rb', line 312 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.
255 256 257 |
# File 'lib/octokit/client/users.rb', line 255 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 |
#emails(options = {}) ⇒ Array<String>
List email addresses for a user.
Requires authenticated client.
299 300 301 |
# File 'lib/octokit/client/users.rb', line 299 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.
149 150 151 |
# File 'lib/octokit/client/users.rb', line 149 def follow(user, = {}) boolean_from_response :put, "user/following/#{user}", end |
#followers(user = login, options = {}) ⇒ Array<Sawyer::Resource>
Get a user's followers.
99 100 101 |
# File 'lib/octokit/client/users.rb', line 99 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.
112 113 114 |
# File 'lib/octokit/client/users.rb', line 112 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.
134 135 136 137 138 |
# File 'lib/octokit/client/users.rb', line 134 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.
217 218 219 |
# File 'lib/octokit/client/users.rb', line 217 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.
229 230 231 |
# File 'lib/octokit/client/users.rb', line 229 def keys( = {}) paginate "user/keys", end |
#remove_email(email) ⇒ Array<String>
Remove email from user.
Requires authenticated client.
326 327 328 329 |
# File 'lib/octokit/client/users.rb', line 326 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.
287 288 289 |
# File 'lib/octokit/client/users.rb', line 287 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.
177 178 179 |
# File 'lib/octokit/client/users.rb', line 177 def starred(user=login, = {}) paginate user_path(user, 'starred'), end |
#starred?(repo, options = {}) ⇒ Boolean
Check if you are starring a repo.
Requires authenticated client.
190 191 192 |
# File 'lib/octokit/client/users.rb', line 190 def starred?(repo, = {}) boolean_from_response :get, "user/starred/#{Repository.new(repo)}", end |
#subscriptions(user = login, options = {}) ⇒ Array<Sawyer::Resource> Also known as: watched
List repositories being watched by a user.
338 339 340 |
# File 'lib/octokit/client/users.rb', line 338 def subscriptions(user=login, = {}) paginate user_path(user, 'subscriptions'), end |
#unfollow(user, options = {}) ⇒ Boolean
Unfollow a user.
Requires authenticated client.
162 163 164 |
# File 'lib/octokit/client/users.rb', line 162 def unfollow(user, = {}) boolean_from_response :delete, "user/following/#{user}", end |
#update_key(key_id, options = {}) ⇒ Sawyer::Resource
This method is no longer supported in the API
Update a public key
Requires authenticated client
274 275 276 |
# File 'lib/octokit/client/users.rb', line 274 def update_key(key_id, = {}) patch "user/keys/#{key_id}", end |
#update_user(options) ⇒ Sawyer::Resource
Update the authenticated user
86 87 88 |
# File 'lib/octokit/client/users.rb', line 86 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.
240 241 242 243 |
# File 'lib/octokit/client/users.rb', line 240 def user_keys(user, = {}) # TODO: Roll this into .keys paginate "#{User.path user}/keys", end |
#validate_credentials(options = {}) ⇒ Boolean
Validate user username and password
66 67 68 69 70 |
# File 'lib/octokit/client/users.rb', line 66 def validate_credentials( = {}) !self.class.new().user.nil? rescue Octokit::Unauthorized false end |