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
Update a public key.
-
#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.
310 311 312 313 |
# File 'lib/octokit/client/users.rb', line 310 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.
256 257 258 |
# File 'lib/octokit/client/users.rb', line 256 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 dump 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.
297 298 299 |
# File 'lib/octokit/client/users.rb', line 297 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.
50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/octokit/client/users.rb', line 50 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.
152 153 154 |
# File 'lib/octokit/client/users.rb', line 152 def follow(user, = {}) boolean_from_response :put, "user/following/#{user}", end |
#followers(user = login, options = {}) ⇒ Array<Sawyer::Resource>
Get a user’s followers.
100 101 102 |
# File 'lib/octokit/client/users.rb', line 100 def followers(user=login, = {}) paginate "users/#{user}/followers", end |
#following(user = login, options = {}) ⇒ Array<Sawyer::Resource>
Get list of users a user is following.
111 112 113 |
# File 'lib/octokit/client/users.rb', line 111 def following(user=login, = {}) paginate "users/#{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.
132 133 134 135 136 137 138 139 140 141 |
# File 'lib/octokit/client/users.rb', line 132 def follows?(*args) target = args.pop user = args.first if user.nil? url = "user/following/#{target}" else url = "users/#{user}/following/#{target}" end boolean_from_response :get, url 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.
219 220 221 |
# File 'lib/octokit/client/users.rb', line 219 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.
231 232 233 |
# File 'lib/octokit/client/users.rb', line 231 def keys( = {}) paginate "user/keys", end |
#remove_email(email) ⇒ Array<String>
Remove email from user.
Requires authenticated client.
324 325 326 327 |
# File 'lib/octokit/client/users.rb', line 324 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.
285 286 287 |
# File 'lib/octokit/client/users.rb', line 285 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.
179 180 181 |
# File 'lib/octokit/client/users.rb', line 179 def starred(user=login, = {}) paginate user_path(user, 'starred'), end |
#starred?(repo, options = {}) ⇒ Boolean
Check if you are starring a repo.
Requires authenticated client.
192 193 194 |
# File 'lib/octokit/client/users.rb', line 192 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.
339 340 341 |
# File 'lib/octokit/client/users.rb', line 339 def subscriptions(user=login, = {}) paginate user_path(user, 'subscriptions'), end |
#unfollow(user, options = {}) ⇒ Boolean
Unfollow a user.
Requires authenticated client.
165 166 167 |
# File 'lib/octokit/client/users.rb', line 165 def unfollow(user, = {}) boolean_from_response :delete, "user/following/#{user}", end |
#update_key(key_id, options = {}) ⇒ Sawyer::Resource
Update a public key
Requires authenticated client
272 273 274 |
# File 'lib/octokit/client/users.rb', line 272 def update_key(key_id, = {}) patch "user/keys/#{key_id}", end |
#update_user(options) ⇒ Sawyer::Resource
Update the authenticated user
89 90 91 |
# File 'lib/octokit/client/users.rb', line 89 def update_user() patch "user", end |
#user(user = nil, options = {}) ⇒ Sawyer::Resource
Get a single user
33 34 35 36 37 38 39 |
# File 'lib/octokit/client/users.rb', line 33 def user(user=nil, = {}) if user get "users/#{user}", else get 'user', end end |
#user_keys(user, options = {}) ⇒ Array<Sawyer::Resource>
Get list of public keys for user.
241 242 243 244 |
# File 'lib/octokit/client/users.rb', line 241 def user_keys(user, = {}) # TODO: Roll this into .keys paginate "users/#{user}/keys", end |
#validate_credentials(options = {}) ⇒ Boolean
Validate user username and password
69 70 71 72 73 |
# File 'lib/octokit/client/users.rb', line 69 def validate_credentials( = {}) !self.class.new().user.nil? rescue Octokit::Unauthorized false end |