octokit 1.19.0 → 1.20.0
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.
- data/.travis.yml +2 -0
- data/CHANGELOG.md +11 -0
- data/README.md +35 -1
- data/lib/faraday/response/raise_octokit_error.rb +15 -22
- data/lib/octokit.rb +2 -1
- data/lib/octokit/authentication.rb +15 -0
- data/lib/octokit/client.rb +4 -0
- data/lib/octokit/client/authorizations.rb +1 -1
- data/lib/octokit/client/commits.rb +15 -14
- data/lib/octokit/client/contents.rb +42 -42
- data/lib/octokit/client/downloads.rb +5 -1
- data/lib/octokit/client/gists.rb +6 -12
- data/lib/octokit/client/gitignore.rb +41 -0
- data/lib/octokit/client/issues.rb +30 -1
- data/lib/octokit/client/labels.rb +2 -2
- data/lib/octokit/client/milestones.rb +1 -1
- data/lib/octokit/client/notifications.rb +1 -5
- data/lib/octokit/client/organizations.rb +11 -15
- data/lib/octokit/client/pulls.rb +33 -7
- data/lib/octokit/client/refs.rb +1 -1
- data/lib/octokit/client/repositories.rb +27 -40
- data/lib/octokit/client/users.rb +25 -13
- data/lib/octokit/configuration.rb +4 -2
- data/lib/octokit/connection.rb +6 -4
- data/lib/octokit/request.rb +9 -0
- data/lib/octokit/version.rb +1 -1
- data/octokit.gemspec +2 -1
- data/spec/fixtures/.netrc +2 -0
- data/spec/fixtures/all_repositories.json +122 -0
- data/spec/fixtures/all_users.json +34 -0
- data/spec/fixtures/gitignore_template_ruby.json +4 -0
- data/spec/fixtures/gitignore_templates.json +78 -0
- data/spec/fixtures/pull_requests_comments.json +82 -0
- data/spec/fixtures/repository_issues_comments.json +52 -0
- data/spec/octokit/client/authorizations_spec.rb +1 -1
- data/spec/octokit/client/commits_spec.rb +1 -1
- data/spec/octokit/client/downloads_spec.rb +1 -1
- data/spec/octokit/client/gists_spec.rb +6 -6
- data/spec/octokit/client/gitignore_spec.rb +29 -0
- data/spec/octokit/client/issues_spec.rb +12 -1
- data/spec/octokit/client/labels_spec.rb +2 -2
- data/spec/octokit/client/milestones_spec.rb +1 -1
- data/spec/octokit/client/notifications_spec.rb +10 -10
- data/spec/octokit/client/organizations_spec.rb +10 -10
- data/spec/octokit/client/pulls_spec.rb +13 -2
- data/spec/octokit/client/refs_spec.rb +1 -1
- data/spec/octokit/client/repositories_spec.rb +25 -14
- data/spec/octokit/client/users_spec.rb +17 -6
- data/spec/octokit/client_spec.rb +47 -1
- data/spec/octokit_spec.rb +1 -1
- metadata +36 -3
@@ -113,6 +113,35 @@ module Octokit
|
|
113
113
|
post("repos/#{Repository.new(repo)}/issues/#{number}", options.merge({:title => title, :body => body}))
|
114
114
|
end
|
115
115
|
|
116
|
+
# Get all comments attached to issues for the repository
|
117
|
+
#
|
118
|
+
# By default, Issue Comments are ordered by ascending ID.
|
119
|
+
#
|
120
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
121
|
+
# @param options [Hash] Optional parameters
|
122
|
+
# @option options [String] :sort created or updated
|
123
|
+
# @option options [String] :direction asc or desc. Ignored without sort
|
124
|
+
# parameter.
|
125
|
+
# @option options [String] :since Timestamp in ISO 8601
|
126
|
+
# format: YYYY-MM-DDTHH:MM:SSZ
|
127
|
+
#
|
128
|
+
# @return [Array] List of issues comments.
|
129
|
+
#
|
130
|
+
# @see http://developer.github.com/v3/issues/comments/#list-comments-in-a-repository
|
131
|
+
#
|
132
|
+
# @example Get the comments for issues in the octokit repository
|
133
|
+
# @client.issues_comments("pengwynn/octokit")
|
134
|
+
#
|
135
|
+
# @example Get issues comments, sort by updated descending since a time
|
136
|
+
# @client.issues_comments("pengwynn/octokit", {
|
137
|
+
# :sort => 'desc',
|
138
|
+
# :direction => 'down',
|
139
|
+
# :since => '2010-05-04T23:45:02Z'
|
140
|
+
# })
|
141
|
+
def issues_comments(repo, options={})
|
142
|
+
get "/repos/#{Repository.new repo}/issues/comments", options
|
143
|
+
end
|
144
|
+
|
116
145
|
# Get all comments attached to an issue
|
117
146
|
#
|
118
147
|
# @param repo [String, Repository, Hash] A GitHub repository
|
@@ -172,7 +201,7 @@ module Octokit
|
|
172
201
|
# @example Delete the comment "I've started this on my 25-issue-comments-v3 fork" on Issue #25 on pengwynn/octokit
|
173
202
|
# Octokit.delete_comment("pengwynn/octokit", 1194549)
|
174
203
|
def delete_comment(repo, number, options={})
|
175
|
-
|
204
|
+
boolean_from_response(:delete, "repos/#{Repository.new(repo)}/issues/comments/#{number}", options)
|
176
205
|
end
|
177
206
|
|
178
207
|
|
@@ -67,7 +67,7 @@ module Octokit
|
|
67
67
|
# @example Delete the label "Version 1.0" from the repository.
|
68
68
|
# Octokit.delete_label!("pengwynn/octokit", "Version 1.0")
|
69
69
|
def delete_label!(repo, label, options={})
|
70
|
-
|
70
|
+
boolean_from_response(:delete, "repos/#{Repository.new(repo)}/labels/#{CGI.escape(label)}", options)
|
71
71
|
end
|
72
72
|
|
73
73
|
# Remove a label from an Issue
|
@@ -97,7 +97,7 @@ module Octokit
|
|
97
97
|
# @example Remove all labels from Issue #23
|
98
98
|
# Octokit.remove_all_labels("pengwynn/octokit", 23)
|
99
99
|
def remove_all_labels(repo, number, options={})
|
100
|
-
|
100
|
+
boolean_from_response(:delete, "repos/#{Repository.new(repo)}/issues/#{number}/labels", options)
|
101
101
|
end
|
102
102
|
|
103
103
|
# List labels for a given issue
|
@@ -79,7 +79,7 @@ module Octokit
|
|
79
79
|
# @example Delete a single milestone from a repository
|
80
80
|
# Octokit.delete_milestone("pengwynn/octokit", 1)
|
81
81
|
def delete_milestone(repository, number, options={})
|
82
|
-
|
82
|
+
boolean_from_response(:delete, "repos/#{Repository.new(repository)}/milestones/#{number}", options)
|
83
83
|
end
|
84
84
|
|
85
85
|
end
|
@@ -210,11 +210,7 @@ module Octokit
|
|
210
210
|
# @example
|
211
211
|
# @client.delete_thread_subscription(1)
|
212
212
|
def delete_thread_subscription(thread_id, options={})
|
213
|
-
|
214
|
-
request(:delete, "notifications/threads/#{thread_id}", options).status == 204
|
215
|
-
rescue
|
216
|
-
false
|
217
|
-
end
|
213
|
+
boolean_from_response(:delete, "notifications/threads/#{thread_id}", options)
|
218
214
|
end
|
219
215
|
|
220
216
|
end
|
@@ -89,7 +89,7 @@ module Octokit
|
|
89
89
|
#
|
90
90
|
# @param org [String] Organization handle for which to list repos
|
91
91
|
# @option options [String] :type ('all') Filter by repository type.
|
92
|
-
# `all`, `public`, `member` or `private`.
|
92
|
+
# `all`, `public`, `member`, `sources`, `forks`, or `private`.
|
93
93
|
#
|
94
94
|
# @return [Array<Hashie::Mash>] List of repositories
|
95
95
|
# @see Octokit::Client
|
@@ -146,9 +146,7 @@ module Octokit
|
|
146
146
|
# @client.organization_member?('your_organization', 'pengwynn')
|
147
147
|
# => false
|
148
148
|
def organization_member?(org, user, options={})
|
149
|
-
|
150
|
-
rescue Octokit::NotFound
|
151
|
-
false
|
149
|
+
boolean_from_response(:get, "orgs/#{org}/members/#{user}", options)
|
152
150
|
end
|
153
151
|
alias :org_member? :organization_member?
|
154
152
|
|
@@ -168,9 +166,7 @@ module Octokit
|
|
168
166
|
# @client.organization_public_member?('github', 'pengwynn')
|
169
167
|
# => true
|
170
168
|
def organization_public_member?(org, user, options={})
|
171
|
-
|
172
|
-
rescue Octokit::NotFound
|
173
|
-
false
|
169
|
+
boolean_from_response(:get, "orgs/#{org}/public_members/#{user}", options)
|
174
170
|
end
|
175
171
|
alias :org_public_member? :organization_public_member?
|
176
172
|
|
@@ -265,7 +261,7 @@ module Octokit
|
|
265
261
|
# @example
|
266
262
|
# @client.delete_team(100000)
|
267
263
|
def delete_team(team_id, options={})
|
268
|
-
|
264
|
+
boolean_from_response(:delete, "teams/#{team_id}", options)
|
269
265
|
end
|
270
266
|
|
271
267
|
# List team members
|
@@ -298,7 +294,7 @@ module Octokit
|
|
298
294
|
# There's a bug in this API call. The docs say to leave the body blank,
|
299
295
|
# but it fails if the body is both blank and the content-length header
|
300
296
|
# is not 0.
|
301
|
-
|
297
|
+
boolean_from_response(:put, "teams/#{team_id}/members/#{user}", options.merge({:name => user}))
|
302
298
|
end
|
303
299
|
|
304
300
|
# Remove team member
|
@@ -314,7 +310,7 @@ module Octokit
|
|
314
310
|
# @example
|
315
311
|
# @client.remove_team_member(100000, 'pengwynn')
|
316
312
|
def remove_team_member(team_id, user, options={})
|
317
|
-
|
313
|
+
boolean_from_response(:delete, "teams/#{team_id}/members/#{user}", options)
|
318
314
|
end
|
319
315
|
|
320
316
|
# List team repositories
|
@@ -351,7 +347,7 @@ module Octokit
|
|
351
347
|
# @example
|
352
348
|
# @client.add_team_repo(100000, 'github/developer.github.com')
|
353
349
|
def add_team_repository(team_id, repo, options={})
|
354
|
-
|
350
|
+
boolean_from_response(:put, "teams/#{team_id}/repos/#{Repository.new(repo)}", options.merge(:name => Repository.new(repo)))
|
355
351
|
end
|
356
352
|
alias :add_team_repo :add_team_repository
|
357
353
|
|
@@ -372,7 +368,7 @@ module Octokit
|
|
372
368
|
# @example
|
373
369
|
# @client.remove_team_repo(100000, 'github/developer.github.com')
|
374
370
|
def remove_team_repository(team_id, repo, options={})
|
375
|
-
|
371
|
+
boolean_from_response(:delete, "teams/#{team_id}/repos/#{Repository.new(repo)}")
|
376
372
|
end
|
377
373
|
alias :remove_team_repo :remove_team_repository
|
378
374
|
|
@@ -392,7 +388,7 @@ module Octokit
|
|
392
388
|
def remove_organization_member(org, user, options={})
|
393
389
|
# this is a synonym for: for team in org.teams: remove_team_member(team.id, user)
|
394
390
|
# provided in the GH API v3
|
395
|
-
|
391
|
+
boolean_from_response(:delete, "orgs/#{org}/members/#{user}", options)
|
396
392
|
end
|
397
393
|
alias :remove_org_member :remove_organization_member
|
398
394
|
|
@@ -408,7 +404,7 @@ module Octokit
|
|
408
404
|
# @example
|
409
405
|
# @client.publicize_membership('github', 'pengwynn')
|
410
406
|
def publicize_membership(org, user, options={})
|
411
|
-
|
407
|
+
boolean_from_response(:put, "orgs/#{org}/public_members/#{user}", options)
|
412
408
|
end
|
413
409
|
|
414
410
|
# Conceal a user's membership of an organization.
|
@@ -425,7 +421,7 @@ module Octokit
|
|
425
421
|
# @example
|
426
422
|
# @client.conceal_membership('github', 'pengwynn')
|
427
423
|
def unpublicize_membership(org, user, options={})
|
428
|
-
|
424
|
+
boolean_from_response(:delete, "orgs/#{org}/public_members/#{user}", options)
|
429
425
|
end
|
430
426
|
alias :conceal_membership :unpublicize_membership
|
431
427
|
|
data/lib/octokit/client/pulls.rb
CHANGED
@@ -105,6 +105,37 @@ module Octokit
|
|
105
105
|
end
|
106
106
|
alias :pull_commits :pull_request_commits
|
107
107
|
|
108
|
+
# List pull request comments for a repository
|
109
|
+
#
|
110
|
+
# By default, Review Comments are ordered by ascending ID.
|
111
|
+
#
|
112
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
113
|
+
# @param options [Hash] Optional parameters
|
114
|
+
# @option options [String] :sort created or updated
|
115
|
+
# @option options [String] :direction asc or desc. Ignored without sort
|
116
|
+
# parameter.
|
117
|
+
# @option options [String] :since Timestamp in ISO 8601
|
118
|
+
# format: YYYY-MM-DDTHH:MM:SSZ
|
119
|
+
#
|
120
|
+
# @return [Array] List of pull request review comments.
|
121
|
+
#
|
122
|
+
# @see http://developer.github.com/v3/pulls/comments/#list-comments-in-a-repository
|
123
|
+
#
|
124
|
+
# @example Get the pull request review comments in the octokit repository
|
125
|
+
# @client.issues_comments("pengwynn/octokit")
|
126
|
+
#
|
127
|
+
# @example Get review comments, sort by updated asc since a time
|
128
|
+
# @client.pull_requests_comments("pengwynn/octokit", {
|
129
|
+
# :sort => 'asc',
|
130
|
+
# :direction => 'down',
|
131
|
+
# :since => '2010-05-04T23:45:02Z'
|
132
|
+
# })
|
133
|
+
def pull_requests_comments(repo, options={})
|
134
|
+
get("repos/#{Repository.new repo}/pulls/comments")
|
135
|
+
end
|
136
|
+
alias :pulls_comments :pull_requests_comments
|
137
|
+
alias :reviews_comments :pull_requests_comments
|
138
|
+
|
108
139
|
# List comments on a pull request
|
109
140
|
#
|
110
141
|
# @see http://developer.github.com/v3/pulls/#list-comments-on-a-pull-request
|
@@ -201,7 +232,7 @@ module Octokit
|
|
201
232
|
# @example
|
202
233
|
# @client.delete_pull_request_comment("pengwynn/octokit", 1902707)
|
203
234
|
def delete_pull_request_comment(repo, comment_id, options={})
|
204
|
-
|
235
|
+
boolean_from_response(:delete, "repos/#{Repository.new repo}/pulls/comments/#{comment_id}", options)
|
205
236
|
end
|
206
237
|
alias :delete_pull_comment :delete_pull_request_comment
|
207
238
|
alias :delete_review_comment :delete_pull_request_comment
|
@@ -235,12 +266,7 @@ module Octokit
|
|
235
266
|
# @param number [Integer] Number of pull request
|
236
267
|
# @return [Boolean] True if the pull request has been merged
|
237
268
|
def pull_merged?(repo, number, options={})
|
238
|
-
|
239
|
-
get("repos/#{Repository.new(repo)}/pulls/#{number}/merge", options)
|
240
|
-
return true
|
241
|
-
rescue Octokit::NotFound
|
242
|
-
return false
|
243
|
-
end
|
269
|
+
boolean_from_response(:get, "repos/#{Repository.new(repo)}/pulls/#{number}/merge", options)
|
244
270
|
end
|
245
271
|
alias :pull_request_merged? :pull_merged?
|
246
272
|
|
data/lib/octokit/client/refs.rb
CHANGED
@@ -76,7 +76,7 @@ module Octokit
|
|
76
76
|
# @example Delete tags/v0.0.3 for sferik/rails_admin
|
77
77
|
# Octokit.delete_ref("sferik/rails_admin","tags/v0.0.3")
|
78
78
|
def delete_ref(repo, ref, options={})
|
79
|
-
|
79
|
+
boolean_from_response(:delete, "repos/#{Repository.new(repo)}/git/refs/#{ref}", options)
|
80
80
|
end
|
81
81
|
alias :delete_reference :delete_ref
|
82
82
|
|
@@ -62,17 +62,28 @@ module Octokit
|
|
62
62
|
alias :list_repos :repositories
|
63
63
|
alias :repos :repositories
|
64
64
|
|
65
|
+
# List all repositories
|
66
|
+
#
|
67
|
+
# This provides a dump of every repository, in the order that they were
|
68
|
+
# created.
|
69
|
+
#
|
70
|
+
# @see http://developer.github.com/v3/repos/#list-all-repositories
|
71
|
+
#
|
72
|
+
# @param options [Hash] Optional options
|
73
|
+
# @option options [Integer] :since The integer ID of the last Repository
|
74
|
+
# that you’ve seen.
|
75
|
+
#
|
76
|
+
# @return [Array] List of repositories.
|
77
|
+
def all_repositories(options={})
|
78
|
+
get '/repositories', options
|
79
|
+
end
|
80
|
+
|
65
81
|
# Star a repository
|
66
82
|
#
|
67
83
|
# @param repo [String, Hash, Repository] A GitHub repository
|
68
84
|
# @return [Boolean] `true` if successfully starred
|
69
85
|
def star(repo, options={})
|
70
|
-
|
71
|
-
put "user/starred/#{Repository.new repo}", options
|
72
|
-
return true
|
73
|
-
rescue Octokit::NotFound
|
74
|
-
return false
|
75
|
-
end
|
86
|
+
boolean_from_response(:put, "user/starred/#{Repository.new repo}", options)
|
76
87
|
end
|
77
88
|
|
78
89
|
# Unstar a repository
|
@@ -80,12 +91,7 @@ module Octokit
|
|
80
91
|
# @param repo [String, Hash, Repository] A GitHub repository
|
81
92
|
# @return [Boolean] `true` if successfully unstarred
|
82
93
|
def unstar(repo, options={})
|
83
|
-
|
84
|
-
request :delete, "user/starred/#{Repository.new repo}", options
|
85
|
-
return true
|
86
|
-
rescue Octokit::NotFound
|
87
|
-
return false
|
88
|
-
end
|
94
|
+
boolean_from_response(:delete, "user/starred/#{Repository.new repo}", options)
|
89
95
|
end
|
90
96
|
|
91
97
|
# Watch a repository
|
@@ -94,12 +100,7 @@ module Octokit
|
|
94
100
|
# @return [Boolean] `true` if successfully watched
|
95
101
|
# @deprecated Use #star instead
|
96
102
|
def watch(repo, options={})
|
97
|
-
|
98
|
-
put "user/watched/#{Repository.new repo}", options
|
99
|
-
return true
|
100
|
-
rescue Octokit::NotFound
|
101
|
-
return false
|
102
|
-
end
|
103
|
+
boolean_from_response(:put, "user/watched/#{Repository.new repo}", options)
|
103
104
|
end
|
104
105
|
|
105
106
|
# Unwatch a repository
|
@@ -108,12 +109,7 @@ module Octokit
|
|
108
109
|
# @return [Boolean] `true` if successfully unwatched
|
109
110
|
# @deprecated Use #unstar instead
|
110
111
|
def unwatch(repo, options={})
|
111
|
-
|
112
|
-
request :delete, "user/watched/#{Repository.new repo}", options
|
113
|
-
return true
|
114
|
-
rescue Octokit::NotFound
|
115
|
-
return false
|
116
|
-
end
|
112
|
+
boolean_from_response(:delete, "user/watched/#{Repository.new repo}", options)
|
117
113
|
end
|
118
114
|
|
119
115
|
# Fork a repository
|
@@ -160,12 +156,7 @@ module Octokit
|
|
160
156
|
# @param repo [String, Hash, Repository] A GitHub repository
|
161
157
|
# @return [Boolean] `true` if repository was deleted
|
162
158
|
def delete_repository(repo, options={})
|
163
|
-
|
164
|
-
request :delete, "repos/#{Repository.new repo}", options
|
165
|
-
return true
|
166
|
-
rescue Octokit::NotFound
|
167
|
-
return false
|
168
|
-
end
|
159
|
+
boolean_from_response(:delete, "repos/#{Repository.new repo}", options)
|
169
160
|
end
|
170
161
|
alias :delete_repo :delete_repository
|
171
162
|
|
@@ -232,7 +223,7 @@ module Octokit
|
|
232
223
|
# @example
|
233
224
|
# @client.remove_deploy_key('pengwynn/octokit', 100000)
|
234
225
|
def remove_deploy_key(repo, id, options={})
|
235
|
-
|
226
|
+
boolean_from_response(:delete, "repos/#{Repository.new repo}/keys/#{id}", options)
|
236
227
|
end
|
237
228
|
|
238
229
|
# List collaborators
|
@@ -268,7 +259,7 @@ module Octokit
|
|
268
259
|
# @example
|
269
260
|
# @client.add_collab('pengwynn/octokit', 'holman')
|
270
261
|
def add_collaborator(repo, collaborator, options={})
|
271
|
-
|
262
|
+
boolean_from_response(:put, "repos/#{Repository.new repo}/collaborators/#{collaborator}", options)
|
272
263
|
end
|
273
264
|
alias :add_collab :add_collaborator
|
274
265
|
|
@@ -286,7 +277,7 @@ module Octokit
|
|
286
277
|
# @example
|
287
278
|
# @client.remove_collab('pengwynn/octokit', 'holman')
|
288
279
|
def remove_collaborator(repo, collaborator, options={})
|
289
|
-
|
280
|
+
boolean_from_response(:delete, "repos/#{Repository.new repo}/collaborators/#{collaborator}", options)
|
290
281
|
end
|
291
282
|
alias :remove_collab :remove_collaborator
|
292
283
|
|
@@ -564,7 +555,7 @@ module Octokit
|
|
564
555
|
# @example
|
565
556
|
# @client.remove_hook('pengwynn/octokit', 1000000)
|
566
557
|
def remove_hook(repo, id, options={})
|
567
|
-
|
558
|
+
boolean_from_response(:delete, "repos/#{Repository.new repo}/hooks/#{id}", options)
|
568
559
|
end
|
569
560
|
|
570
561
|
# Test hook
|
@@ -579,7 +570,7 @@ module Octokit
|
|
579
570
|
# @example
|
580
571
|
# @client.test_hook('pengwynn/octokit', 1000000)
|
581
572
|
def test_hook(repo, id, options={})
|
582
|
-
|
573
|
+
boolean_from_response(:post, "repos/#{Repository.new repo}/hooks/#{id}/tests", options)
|
583
574
|
end
|
584
575
|
|
585
576
|
# Get all Issue Events for a given Repository
|
@@ -674,11 +665,7 @@ module Octokit
|
|
674
665
|
# @example
|
675
666
|
# @client.delete_subscription("pengwynn/octokit")
|
676
667
|
def delete_subscription(repo, options={})
|
677
|
-
|
678
|
-
request(:delete, "repos/#{Repository.new repo}/subscription", options).status == 204
|
679
|
-
rescue
|
680
|
-
false
|
681
|
-
end
|
668
|
+
boolean_from_response(:delete, "repos/#{Repository.new repo}/subscription", options)
|
682
669
|
end
|
683
670
|
|
684
671
|
end
|
data/lib/octokit/client/users.rb
CHANGED
@@ -13,6 +13,22 @@ module Octokit
|
|
13
13
|
get("legacy/user/search/#{search}", options)['users']
|
14
14
|
end
|
15
15
|
|
16
|
+
# List all GitHub users
|
17
|
+
#
|
18
|
+
# This provides a dump of every user, in the order that they signed up
|
19
|
+
# for GitHub.
|
20
|
+
#
|
21
|
+
# @param options [Hash] Optional options.
|
22
|
+
# @option options [Integer] :since The integer ID of the last User that
|
23
|
+
# you’ve seen.
|
24
|
+
#
|
25
|
+
# @see http://developer.github.com/v3/users/#get-all-users
|
26
|
+
#
|
27
|
+
# @return [Array] List of GitHub users.
|
28
|
+
def all_users(options={})
|
29
|
+
get "users", options
|
30
|
+
end
|
31
|
+
|
16
32
|
# Get a single user
|
17
33
|
#
|
18
34
|
# @param user [String] A GitHub user name.
|
@@ -22,9 +38,9 @@ module Octokit
|
|
22
38
|
# Octokit.user("sferik")
|
23
39
|
def user(user=nil)
|
24
40
|
if user
|
25
|
-
get "users/#{user}"
|
41
|
+
get "users/#{user}"
|
26
42
|
else
|
27
|
-
get "user"
|
43
|
+
get "user"
|
28
44
|
end
|
29
45
|
end
|
30
46
|
|
@@ -96,9 +112,7 @@ module Octokit
|
|
96
112
|
user = args.first
|
97
113
|
user ||= login
|
98
114
|
return if user.nil?
|
99
|
-
|
100
|
-
rescue Octokit::NotFound
|
101
|
-
false
|
115
|
+
boolean_from_response(:get, "user/following/#{target}")
|
102
116
|
end
|
103
117
|
|
104
118
|
# Follow a user.
|
@@ -112,7 +126,7 @@ module Octokit
|
|
112
126
|
# @example
|
113
127
|
# @client.follow('holman')
|
114
128
|
def follow(user, options={})
|
115
|
-
|
129
|
+
boolean_from_response(:put, "user/following/#{user}", options)
|
116
130
|
end
|
117
131
|
|
118
132
|
# Unfollow a user.
|
@@ -126,7 +140,7 @@ module Octokit
|
|
126
140
|
# @example
|
127
141
|
# @client.unfollow('holman')
|
128
142
|
def unfollow(user, options={})
|
129
|
-
|
143
|
+
boolean_from_response(:delete, "user/following/#{user}", options)
|
130
144
|
end
|
131
145
|
|
132
146
|
# Get list of repos starred by a user.
|
@@ -152,9 +166,7 @@ module Octokit
|
|
152
166
|
# @example
|
153
167
|
# @client.starred?('pengwynn', 'octokit')
|
154
168
|
def starred?(user, repo, options={})
|
155
|
-
|
156
|
-
rescue Octokit::NotFound
|
157
|
-
false
|
169
|
+
boolean_from_response(:get, "user/starred/#{user}/#{repo}", options)
|
158
170
|
end
|
159
171
|
|
160
172
|
# Get list of repos watched by a user.
|
@@ -180,7 +192,7 @@ module Octokit
|
|
180
192
|
# Requires authenticated client.
|
181
193
|
#
|
182
194
|
# @param key_id [Integer] Key to retreive.
|
183
|
-
# @
|
195
|
+
# @return [Hashie::Mash] Hash representing the key.
|
184
196
|
# @see http://developer.github.com/v3/users/keys/#get-a-single-public-key
|
185
197
|
# @example
|
186
198
|
# @client.key(1)
|
@@ -253,7 +265,7 @@ module Octokit
|
|
253
265
|
# @example
|
254
266
|
# @client.remove_key(1)
|
255
267
|
def remove_key(id, options={})
|
256
|
-
|
268
|
+
boolean_from_response(:delete, "user/keys/#{id}", options)
|
257
269
|
end
|
258
270
|
|
259
271
|
# List email addresses for a user.
|
@@ -294,7 +306,7 @@ module Octokit
|
|
294
306
|
# @example
|
295
307
|
# @client.remove_email('old_email@user.com')
|
296
308
|
def remove_email(email, options={})
|
297
|
-
|
309
|
+
boolean_from_response(:delete, "user/emails", options.merge({:email => email}))
|
298
310
|
end
|
299
311
|
|
300
312
|
# List repositories being watched by a user.
|