github_api_v3 0.3.3 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +16 -6
- data/lib/github_api_v3/client/feeds.rb +1 -1
- data/lib/github_api_v3/client/gists.rb +10 -10
- data/lib/github_api_v3/client/issues.rb +8 -8
- data/lib/github_api_v3/client/markdown.rb +1 -1
- data/lib/github_api_v3/client/oauth.rb +101 -0
- data/lib/github_api_v3/client/orgs.rb +22 -22
- data/lib/github_api_v3/client/pull_requests.rb +14 -14
- data/lib/github_api_v3/client/repos.rb +23 -23
- data/lib/github_api_v3/client/stats.rb +5 -5
- data/lib/github_api_v3/client/users.rb +30 -20
- data/lib/github_api_v3/client.rb +73 -64
- data/lib/github_api_v3/error.rb +20 -2
- data/lib/github_api_v3/version.rb +1 -1
- data/lib/github_api_v3.rb +2 -2
- data/spec/cassettes/GitHub_Client_Gists/_create_gist/creates_a_gist.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_create_gist_comment/creates_the_comment.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_create_gist_comment/returns_comment_information_after_creation.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_delete_gist/deletes_a_gist.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_delete_gist_comment/deletes_the_comment.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_delete_gist_comment/returns_true_or_false.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_edit_gist/edits_a_gist.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_edit_gist_comment/edits_the_comment.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_edit_gist_comment/returns_comment_information_after_editing.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_fork_gist/forks_a_gist.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_fork_gist/returns_false_when_not_found.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_gist/returns_a_404_when_not_found.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_gist/returns_gist_information.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_gist_comment/returns_a_404_when_not_found.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_gist_comment/returns_a_comment.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_gist_comments/returns_a_404_when_not_found.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_gist_comments/returns_a_list_of_comments.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_gist_starred_/returns_false_when_not_found.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_gist_starred_/should_return_true_or_false.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_gists/returns_an_array_of_gists.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_gists/returns_an_array_of_gists_for_authenticated_user.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_gists/returns_public_gists_for_unauthenticated_user.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_star_gist/returns_false_when_not_found.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_star_gist/stars_a_gist.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_unstar_gist/returns_false_when_not_found.json +1 -1
- data/spec/cassettes/GitHub_Client_Gists/_unstar_gist/unstars_a_gist.json +1 -1
- data/spec/cassettes/GitHub_Client_Issues/_issues/returns_an_array_of_issues.json +1 -1
- data/spec/cassettes/GitHub_Client_Issues/_issues/returns_the_correct_information.json +1 -1
- data/spec/cassettes/GitHub_Client_OAuth/_authorization/returns_a_404_if_using_access_token_authentication.json +1 -0
- data/spec/cassettes/GitHub_Client_OAuth/_authorization/returns_a_404_if_using_no_authentication.json +1 -0
- data/spec/cassettes/GitHub_Client_OAuth/_authorization/returns_a_404_when_not_found.json +1 -0
- data/spec/cassettes/GitHub_Client_OAuth/_authorization/returns_authorization_information.json +1 -0
- data/spec/cassettes/GitHub_Client_OAuth/_authorization/returns_the_correct_information.json +1 -0
- data/spec/cassettes/GitHub_Client_OAuth/_authorizations/returns_a_404_if_using_access_token_authentication.json +1 -0
- data/spec/cassettes/GitHub_Client_OAuth/_authorizations/returns_a_404_if_using_no_authentication.json +1 -0
- data/spec/cassettes/GitHub_Client_OAuth/_authorizations/returns_a_list_of_authorizations.json +1 -0
- data/spec/cassettes/GitHub_Client_OAuth/_authorizations/returns_the_correct_array.json +1 -0
- data/spec/cassettes/GitHub_Client_OAuth/_create_authorization/creates_the_correct_authorization.json +1 -0
- data/spec/cassettes/GitHub_Client_OAuth/_create_authorization/returns_authorization_information_hash.json +1 -0
- data/spec/cassettes/GitHub_Client_OAuth/_delete_authorization/deletes_the_authorization.json +1 -0
- data/spec/cassettes/GitHub_Client_OAuth/_delete_authorization/returns_true.json +1 -0
- data/spec/cassettes/GitHub_Client_OAuth/_update_authorization/returns_authorization_information_hash.json +1 -0
- data/spec/cassettes/GitHub_Client_OAuth/_update_authorization/updates_the_authorization.json +1 -0
- data/spec/cassettes/GitHub_Client_Users/_follows_/returns_false_when_not_following.json +1 -1
- data/spec/cassettes/GitHub_Client_Users/_follows_/returns_true_when_following.json +1 -1
- data/spec/cassettes/GitHub_Client_Users/_rate_limit/returns_authenticated_rate_limit_information.json +1 -0
- data/spec/cassettes/GitHub_Client_Users/_rate_limit/returns_unauthenticated_rate_limit_information.json +1 -0
- data/spec/config.sample.yml +3 -1
- data/spec/github_api_v3/client/gists_spec.rb +25 -25
- data/spec/github_api_v3/client/oauth_spec.rb +87 -0
- data/spec/github_api_v3/client/users_spec.rb +16 -0
- data/spec/spec_helper.rb +21 -11
- metadata +38 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 628f1717207bf3404efc1ebee6d34bbb7a135e6b
|
4
|
+
data.tar.gz: 060b04ffedc0db2cb8fbe750bfef26e72c6dc417
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba7ac164b2f4d491ce4473c4ad69f7a3a3d5b29b05141d35793b216b7db74ecb5af28a5ed05cd62a9ea311453e19df7a8e31c41eddd336daffa665e5ce205ad1
|
7
|
+
data.tar.gz: c91803123c73b990fa26cb9d5ef69b38a4594a546788f4386dbab19f03b759dc5adfd1139250549e884467e3e5109ae06855668cf2c8cf6794d51b0acbfc7294
|
data/README.md
CHANGED
@@ -24,7 +24,7 @@ require 'github_api_v3'
|
|
24
24
|
|
25
25
|
### Unauthenticated Requests
|
26
26
|
|
27
|
-
There are multiple different unauthenticated requests to the API. These are performed when no credentials are given, and
|
27
|
+
There are multiple different unauthenticated requests to the API. These are performed when no credentials are given, and are shown below starting with `GitHub`. Unauthenticated methods can certainly be called from an authenticated client, and this is recommended as to not reach the hourly [rate limit](http://developer.github.com/v3/#rate-limiting).
|
28
28
|
|
29
29
|
|
30
30
|
### Authenticated Requests
|
@@ -32,7 +32,13 @@ There are multiple different unauthenticated requests to the API. These are perf
|
|
32
32
|
Some methods, such as retrieving private repos or emails, require authentication. To create one of these requests, you'll need to pass in your login and access token. You can create a personal access token on your [account page](https://github.com/settings/applications).
|
33
33
|
|
34
34
|
```ruby
|
35
|
-
|
35
|
+
# Create a new client using username and access token.
|
36
|
+
client = GitHub.client(
|
37
|
+
:login => 'username',
|
38
|
+
:access_token => 'bf215181b5140522137b3d4f6b73544a'
|
39
|
+
)
|
40
|
+
|
41
|
+
# Authenticated methods
|
36
42
|
client.emails # => ["email@example.com", "email2@example.com"]
|
37
43
|
client.repos # => #<Array:0x007fb8aa0d1a00>
|
38
44
|
client.follow('matz') # => true
|
@@ -90,6 +96,10 @@ client.notifications
|
|
90
96
|
client.watching
|
91
97
|
client.starring
|
92
98
|
|
99
|
+
# Get a client's rate limit
|
100
|
+
GitHub.rate_limit
|
101
|
+
client.rate_limit
|
102
|
+
|
93
103
|
# etc...
|
94
104
|
```
|
95
105
|
You can find the available attributes [here](http://developer.github.com/v3/users/#get-a-single-user). Check the [Users documentation](http://rdoc.info/gems/github_api_v3/GitHub/Client/Users) for the gem for a complete list and more examples.
|
@@ -179,9 +189,9 @@ GitHub.gist(1234567)
|
|
179
189
|
|
180
190
|
# Create a gist
|
181
191
|
client.create_gist(
|
182
|
-
files
|
183
|
-
description
|
184
|
-
public
|
192
|
+
:files => { "file1.txt" => { content: "File contents" } },
|
193
|
+
:description => "Gist description",
|
194
|
+
:public => "false"
|
185
195
|
)
|
186
196
|
|
187
197
|
# Check if a gist is starred
|
@@ -241,7 +251,7 @@ $ rspec spec/
|
|
241
251
|
|
242
252
|
## To Do
|
243
253
|
|
244
|
-
|
254
|
+
Any functionality of the API listed at [developer.github.com](http://developer.github.com/) that hasn't currently been implemented.
|
245
255
|
|
246
256
|
Some main missing functionality:
|
247
257
|
* A good bit of the [Repos API](http://developer.github.com/v3/repos/), such as:
|
@@ -52,7 +52,7 @@ module GitHub
|
|
52
52
|
# client.create_gist(files: {"file1.txt" => { content: "File contents" }}, description: "Gist description", public: "false")
|
53
53
|
def create_gist(files={}, options={:public => true})
|
54
54
|
options.merge!(files)
|
55
|
-
post "/gists",
|
55
|
+
post "/gists", body: options
|
56
56
|
end
|
57
57
|
|
58
58
|
# Edit a gist
|
@@ -67,7 +67,7 @@ module GitHub
|
|
67
67
|
# @return [Hash] Gist information.
|
68
68
|
def edit_gist(id, files={}, options={:public => true})
|
69
69
|
options.merge!(files)
|
70
|
-
patch "/gists/#{id}",
|
70
|
+
patch "/gists/#{id}", body: options
|
71
71
|
end
|
72
72
|
|
73
73
|
# Check if a gist is starred.
|
@@ -78,7 +78,7 @@ module GitHub
|
|
78
78
|
# @return [Boolean] True if it is starred, false if not.
|
79
79
|
# @see http://developer.github.com/v3/gists/#check-if-a-gist-is-starred
|
80
80
|
def gist_starred?(id)
|
81
|
-
|
81
|
+
boolean_request :get, "/gists/#{id}/star"
|
82
82
|
end
|
83
83
|
|
84
84
|
# Star a gist.
|
@@ -91,7 +91,7 @@ module GitHub
|
|
91
91
|
# @example
|
92
92
|
# client.star_gist(5928712)
|
93
93
|
def star_gist(id)
|
94
|
-
|
94
|
+
boolean_request :put, "/gists/#{id}/star"
|
95
95
|
end
|
96
96
|
|
97
97
|
# Unstar a gist.
|
@@ -104,7 +104,7 @@ module GitHub
|
|
104
104
|
# @example
|
105
105
|
# client.unstar_gist(5928712)
|
106
106
|
def unstar_gist(id)
|
107
|
-
|
107
|
+
boolean_request :delete, "/gists/#{id}/star"
|
108
108
|
end
|
109
109
|
|
110
110
|
# Fork a gist.
|
@@ -117,7 +117,7 @@ module GitHub
|
|
117
117
|
# @example
|
118
118
|
# client.fork_gist(5928712)
|
119
119
|
def fork_gist(id)
|
120
|
-
|
120
|
+
boolean_request :post, "/gists/#{id}/fork"
|
121
121
|
end
|
122
122
|
|
123
123
|
# Delete a gist.
|
@@ -129,7 +129,7 @@ module GitHub
|
|
129
129
|
# @example
|
130
130
|
# client.delete_gist(5928712)
|
131
131
|
def delete_gist(id)
|
132
|
-
|
132
|
+
boolean_request :delete, "/gists/#{id}"
|
133
133
|
end
|
134
134
|
|
135
135
|
# List comments on a gist.
|
@@ -166,7 +166,7 @@ module GitHub
|
|
166
166
|
# @example
|
167
167
|
# client.create_gist_comment(5928712, 'Awesome!')
|
168
168
|
def create_gist_comment(id, comment)
|
169
|
-
post "/gists/#{id}/comments",
|
169
|
+
post "/gists/#{id}/comments", body: { body: comment }
|
170
170
|
end
|
171
171
|
|
172
172
|
# Edit an existing gist comment.
|
@@ -181,7 +181,7 @@ module GitHub
|
|
181
181
|
# @example
|
182
182
|
# client.edit_gist_comment(5928712, 889239, 'Even more awesome!')
|
183
183
|
def edit_gist_comment(id, comment_id, comment)
|
184
|
-
patch "/gists/#{id}/comments/#{comment_id}",
|
184
|
+
patch "/gists/#{id}/comments/#{comment_id}", body: { body: comment }
|
185
185
|
end
|
186
186
|
|
187
187
|
# Delete a gist comment.
|
@@ -195,7 +195,7 @@ module GitHub
|
|
195
195
|
# @example
|
196
196
|
# client.delete_gist_comment(5928712, 889239)
|
197
197
|
def delete_gist_comment(id, comment_id)
|
198
|
-
|
198
|
+
boolean_request :delete, "/gists/#{id}/comments/#{comment_id}"
|
199
199
|
end
|
200
200
|
|
201
201
|
end
|
@@ -22,7 +22,7 @@ module GitHub
|
|
22
22
|
# @example
|
23
23
|
# client.issues(:filter => 'created', :state => 'closed', :sort => 'updated')
|
24
24
|
def issues(options={})
|
25
|
-
get '/issues',
|
25
|
+
get '/issues', params: options
|
26
26
|
end
|
27
27
|
|
28
28
|
# List all issues across owned and member repositories for the authenticated user.
|
@@ -41,7 +41,7 @@ module GitHub
|
|
41
41
|
# @example
|
42
42
|
# client.user_issues(:filter => 'created')
|
43
43
|
def user_issues(options={})
|
44
|
-
get '/user/issues',
|
44
|
+
get '/user/issues', params: options
|
45
45
|
end
|
46
46
|
|
47
47
|
# List all issues for a given organization for the authenticated user.
|
@@ -61,7 +61,7 @@ module GitHub
|
|
61
61
|
# @example
|
62
62
|
# client.org_issues('facebook', :filter => 'mentioned', :state => 'closed')
|
63
63
|
def org_issues(org, options={})
|
64
|
-
get "/orgs/#{org}/issues",
|
64
|
+
get "/orgs/#{org}/issues", params: options
|
65
65
|
end
|
66
66
|
|
67
67
|
# List issues for a repository.
|
@@ -88,7 +88,7 @@ module GitHub
|
|
88
88
|
# :since => '2013-08-09T19:00:00-05:00'
|
89
89
|
# )
|
90
90
|
def repo_issues(owner, repo, options={})
|
91
|
-
get "/repos/#{owner}/#{repo}/issues"
|
91
|
+
get "/repos/#{owner}/#{repo}/issues"
|
92
92
|
end
|
93
93
|
|
94
94
|
# Get a single issue.
|
@@ -101,7 +101,7 @@ module GitHub
|
|
101
101
|
# @example
|
102
102
|
# client.issue('caseyscarborough', 'github', 123)
|
103
103
|
def issue(owner, repo, number)
|
104
|
-
get "/repos/#{owner}/#{repo}/issues/#{number}"
|
104
|
+
get "/repos/#{owner}/#{repo}/issues/#{number}"
|
105
105
|
end
|
106
106
|
|
107
107
|
# Create an issue.
|
@@ -122,7 +122,7 @@ module GitHub
|
|
122
122
|
# client.create_issue('caseyscarborough', 'github', 'Found a bug', :assignee => 'caseyscarborough', :labels => ['label1', 'label2', 'label3'])
|
123
123
|
def create_issue(owner, repo, title, options={})
|
124
124
|
options.merge!(title: title)
|
125
|
-
post "/repos/#{owner}/#{repo}/issues",
|
125
|
+
post "/repos/#{owner}/#{repo}/issues", body: options
|
126
126
|
end
|
127
127
|
|
128
128
|
# Edit an issue.
|
@@ -143,9 +143,9 @@ module GitHub
|
|
143
143
|
# @example
|
144
144
|
# client.edit_issue('caseyscarborough', 'github', 3, body: 'This is the body.', state: 'closed')
|
145
145
|
def edit_issue(owner, repo, number, options={})
|
146
|
-
patch "/repos/#{owner}/#{repo}/issues/#{number}",
|
146
|
+
patch "/repos/#{owner}/#{repo}/issues/#{number}", body: options
|
147
147
|
end
|
148
|
-
|
148
|
+
|
149
149
|
end
|
150
150
|
end
|
151
151
|
end
|
@@ -20,7 +20,7 @@ module GitHub
|
|
20
20
|
# GitHub.markdown('# GitHub', mode: 'gfm', context: 'caseyscarborough/github')
|
21
21
|
def markdown(text, options={mode: 'markdown'})
|
22
22
|
options.merge!(text: text)
|
23
|
-
post "/markdown",
|
23
|
+
post "/markdown", body: options
|
24
24
|
end
|
25
25
|
|
26
26
|
end
|
@@ -0,0 +1,101 @@
|
|
1
|
+
module GitHub
|
2
|
+
class Client
|
3
|
+
|
4
|
+
# Methods for the Authorizations API.
|
5
|
+
#
|
6
|
+
# These methods require the user to use basic authentication.
|
7
|
+
#
|
8
|
+
# @see http://developer.github.com/v3/oauth/#oauth-authorizations-api
|
9
|
+
module OAuth
|
10
|
+
|
11
|
+
# List your authorizations.
|
12
|
+
#
|
13
|
+
# Requires basic authentication.
|
14
|
+
#
|
15
|
+
# @return [Array] List of authorizations.
|
16
|
+
# @see http://developer.github.com/v3/oauth/#list-your-authorizations
|
17
|
+
# @example
|
18
|
+
# client = GitHub.client(:login => 'username', :password => 'password')
|
19
|
+
# client.authorizations
|
20
|
+
def authorizations
|
21
|
+
get "/authorizations"
|
22
|
+
end
|
23
|
+
|
24
|
+
# Get a single authorization.
|
25
|
+
#
|
26
|
+
# Requires basic authentication.
|
27
|
+
#
|
28
|
+
# @param id [Integer] The ID of the authorization to retrieve.
|
29
|
+
# @return [Hash] The authorization information.
|
30
|
+
# @see http://developer.github.com/v3/oauth/#get-a-single-authorization
|
31
|
+
# @example
|
32
|
+
# client = GitHub.client(:login => 'username', :password => 'password')
|
33
|
+
# client.authorization(12345)
|
34
|
+
def authorization(id)
|
35
|
+
get "/authorizations/#{id}"
|
36
|
+
end
|
37
|
+
|
38
|
+
# Create a new authorization.
|
39
|
+
#
|
40
|
+
# Requires basic authentication.
|
41
|
+
#
|
42
|
+
# @param options [Hash] Optional parameters.
|
43
|
+
# @option options [Array] :scopes A list of scopes to create the authorization using.
|
44
|
+
# @option options [String] :note Note to remind what the OAuth token is for.
|
45
|
+
# @option options [String] :note_url URL to remind you what the OAuth token is for.
|
46
|
+
# @option options [String] :client_id The 20 character OAuth app client key for which to create the token.
|
47
|
+
# @option options [String] :client_secret The 40 character OAuth app client secret for which to create the token.
|
48
|
+
# @return [Hash] The new OAuth token information.
|
49
|
+
# @see http://developer.github.com/v3/oauth/#create-a-new-authorization
|
50
|
+
# @example
|
51
|
+
# client = GitHub.client(:login => 'username', :password => 'password')
|
52
|
+
# client.create_authorization(
|
53
|
+
# :note => 'New authorization',
|
54
|
+
# :client_id => 'ab0487b031b18f9286a6',
|
55
|
+
# :client_secret => '9d667c2b7fae7a329f32b6df17926154'
|
56
|
+
# )
|
57
|
+
def create_authorization(options={})
|
58
|
+
post "/authorizations", body: options
|
59
|
+
end
|
60
|
+
|
61
|
+
# Update an existing authorization.
|
62
|
+
#
|
63
|
+
# Requires basic authentication.
|
64
|
+
#
|
65
|
+
# @param id [Integer] The ID of the authorization to update.
|
66
|
+
# @param options [Hash] Optional parameters.
|
67
|
+
# @option options [Array] :scopes Replaces the authorization scopes with these.
|
68
|
+
# @option options [Array] :add_scopes A list of scopes to add to this authorization.
|
69
|
+
# @option options [Array] :remove_scopes A list of scopes to remove from this authorization.
|
70
|
+
# @option options [String] :note Note to remind what the OAuth token is for.
|
71
|
+
# @option options [String] :note_url URL to remind you what the OAuth token is for.
|
72
|
+
# @return [Hash] The updated OAuth token information.
|
73
|
+
# @see http://developer.github.com/v3/oauth/#update-an-existing-authorization
|
74
|
+
# @example
|
75
|
+
# client = GitHub.client(:login => 'username', :password => 'password')
|
76
|
+
# client.update_authorization(1324, :note => 'Updated authorization')
|
77
|
+
def update_authorization(id, options={})
|
78
|
+
patch "/authorizations/#{id}", body: options
|
79
|
+
end
|
80
|
+
|
81
|
+
# Delete an authorization
|
82
|
+
#
|
83
|
+
# Requires basic authentication.
|
84
|
+
#
|
85
|
+
# @param id [Integer] The ID of the authorization to delete.
|
86
|
+
# @return [Boolean] True if successful, false if not.
|
87
|
+
# @see http://developer.github.com/v3/oauth/#delete-an-authorization
|
88
|
+
# @example
|
89
|
+
# client = GitHub.client(:login => 'username', :password => 'password')
|
90
|
+
# client.delete_authorization(1324)
|
91
|
+
def delete_authorization(id)
|
92
|
+
boolean_request :delete, "/authorizations/#{id}"
|
93
|
+
end
|
94
|
+
|
95
|
+
# def check_authorization(client_id, client_secret, access_token)
|
96
|
+
# get "/applications/#{client_id}/tokens/#{access_token}", {}, basic_auth_headers(client_id, client_secret)
|
97
|
+
# end
|
98
|
+
end
|
99
|
+
|
100
|
+
end
|
101
|
+
end
|
@@ -14,7 +14,7 @@ module GitHub
|
|
14
14
|
# @example
|
15
15
|
# GitHub.organization('github')
|
16
16
|
def organization(org)
|
17
|
-
get "/orgs/#{org}"
|
17
|
+
get "/orgs/#{org}"
|
18
18
|
end
|
19
19
|
|
20
20
|
# Edit an organization.
|
@@ -33,7 +33,7 @@ module GitHub
|
|
33
33
|
# @example
|
34
34
|
# client.edit_organization('facebook',name:'faceeebooook',location:'California')
|
35
35
|
def edit_organization(org, options={})
|
36
|
-
patch "/orgs/#{org}",
|
36
|
+
patch "/orgs/#{org}", body: options
|
37
37
|
end
|
38
38
|
|
39
39
|
# List all users who are members of an organization.
|
@@ -42,7 +42,7 @@ module GitHub
|
|
42
42
|
# @return [Array] Array of members.
|
43
43
|
# @see http://developer.github.com/v3/orgs/members/#members-list
|
44
44
|
def organization_members(org)
|
45
|
-
get "/orgs/#{org}/members"
|
45
|
+
get "/orgs/#{org}/members"
|
46
46
|
end
|
47
47
|
|
48
48
|
# Check if a user is, publicly or privately, a member of the organization.
|
@@ -52,7 +52,7 @@ module GitHub
|
|
52
52
|
# @return [Boolean] True if user is a member, false if not.
|
53
53
|
# @see http://developer.github.com/v3/orgs/members/#check-membership
|
54
54
|
def organization_member?(org, username)
|
55
|
-
|
55
|
+
boolean_request :get, "/orgs/#{org}/members/#{username}"
|
56
56
|
end
|
57
57
|
|
58
58
|
# Retrieve public members of an organization.
|
@@ -61,7 +61,7 @@ module GitHub
|
|
61
61
|
# @return [Array] Array of members.
|
62
62
|
# @see http://developer.github.com/v3/orgs/members/#public-members-list
|
63
63
|
def organization_public_members(org)
|
64
|
-
get "/orgs/#{org}/public_members"
|
64
|
+
get "/orgs/#{org}/public_members"
|
65
65
|
end
|
66
66
|
|
67
67
|
# Remove member from an organization.
|
@@ -73,7 +73,7 @@ module GitHub
|
|
73
73
|
# @return [Boolean] True if user is a member, false if not.
|
74
74
|
# @see http://developer.github.com/v3/orgs/members/#remove-a-member
|
75
75
|
def remove_organization_member(org, username)
|
76
|
-
|
76
|
+
boolean_request :delete, "/orgs/#{org}/members/#{username}"
|
77
77
|
end
|
78
78
|
|
79
79
|
# Check if a user is publicly a member of the organization.
|
@@ -82,7 +82,7 @@ module GitHub
|
|
82
82
|
# @return [Array] Array of members.
|
83
83
|
# @see http://developer.github.com/v3/orgs/members/#check-public-membership
|
84
84
|
def organization_public_member?(org, username)
|
85
|
-
|
85
|
+
boolean_request :get, "/orgs/#{org}/public_members/#{username}"
|
86
86
|
end
|
87
87
|
|
88
88
|
# Make a user's organization membership public.
|
@@ -94,7 +94,7 @@ module GitHub
|
|
94
94
|
# @return [Boolean] True if successful, false if not.
|
95
95
|
# @see http://developer.github.com/v3/orgs/members/#publicize-a-users-membership
|
96
96
|
def publicize_membership(org, username)
|
97
|
-
|
97
|
+
boolean_request :put, "/orgs/#{org}/public_members/#{username}"
|
98
98
|
end
|
99
99
|
|
100
100
|
# Conceal a user's organization membership.
|
@@ -106,7 +106,7 @@ module GitHub
|
|
106
106
|
# @return [Boolean] True if successful, false if not.
|
107
107
|
# @see http://developer.github.com/v3/orgs/members/#conceal-a-users-membership
|
108
108
|
def unpublicize_membership(org, username)
|
109
|
-
|
109
|
+
boolean_request :delete, "/orgs/#{org}/public_members/#{username}"
|
110
110
|
end
|
111
111
|
|
112
112
|
# List an organizations teams.
|
@@ -117,7 +117,7 @@ module GitHub
|
|
117
117
|
# @return [Array] Array of teams.
|
118
118
|
# @see http://developer.github.com/v3/orgs/teams/#list-teams
|
119
119
|
def teams(org)
|
120
|
-
get "/orgs/#{org}/teams"
|
120
|
+
get "/orgs/#{org}/teams"
|
121
121
|
end
|
122
122
|
|
123
123
|
# Get a team by its ID.
|
@@ -128,7 +128,7 @@ module GitHub
|
|
128
128
|
# @return [Hash] Team information.
|
129
129
|
# @see http://developer.github.com/v3/orgs/teams/#get-team
|
130
130
|
def team(id)
|
131
|
-
get "/teams/#{id}"
|
131
|
+
get "/teams/#{id}"
|
132
132
|
end
|
133
133
|
|
134
134
|
# Create a team for an organization.
|
@@ -146,7 +146,7 @@ module GitHub
|
|
146
146
|
# @see http://developer.github.com/v3/orgs/teams/#create-team
|
147
147
|
def create_team(org, team_name, options={})
|
148
148
|
options.merge!(name: team_name)
|
149
|
-
post "/orgs/#{org}/teams",
|
149
|
+
post "/orgs/#{org}/teams", body: options
|
150
150
|
end
|
151
151
|
|
152
152
|
# Edit a team.
|
@@ -162,7 +162,7 @@ module GitHub
|
|
162
162
|
# @see http://developer.github.com/v3/orgs/teams/#edit-team
|
163
163
|
def edit_team(id, team_name, options={})
|
164
164
|
options.merge!(name: team_name)
|
165
|
-
patch "/teams/#{id}",
|
165
|
+
patch "/teams/#{id}", body: options
|
166
166
|
end
|
167
167
|
|
168
168
|
# Delete a team.
|
@@ -174,7 +174,7 @@ module GitHub
|
|
174
174
|
# @return [Boolean] True if successful, false if not.
|
175
175
|
# @see http://developer.github.com/v3/orgs/teams/#delete-team
|
176
176
|
def delete_team(id)
|
177
|
-
|
177
|
+
boolean_request :delete, "/teams/#{id}"
|
178
178
|
end
|
179
179
|
|
180
180
|
# List team members
|
@@ -186,7 +186,7 @@ module GitHub
|
|
186
186
|
# @return [Array] Array of members.
|
187
187
|
# @see http://developer.github.com/v3/orgs/teams/#list-team-members
|
188
188
|
def team_members(id)
|
189
|
-
get "/teams/#{id}/members"
|
189
|
+
get "/teams/#{id}/members"
|
190
190
|
end
|
191
191
|
|
192
192
|
# Determine if a user is a team member.
|
@@ -199,7 +199,7 @@ module GitHub
|
|
199
199
|
# @return [Boolean] True if member, false if not.
|
200
200
|
# @see http://developer.github.com/v3/orgs/teams/#get-team-member
|
201
201
|
def team_member?(id, username)
|
202
|
-
|
202
|
+
boolean_request :get, "/teams/#{id}/members/#{username}"
|
203
203
|
end
|
204
204
|
|
205
205
|
# Add a member to a team.
|
@@ -213,7 +213,7 @@ module GitHub
|
|
213
213
|
# @return [Boolean] True if successful, false if not.
|
214
214
|
# @see http://developer.github.com/v3/orgs/teams/#add-team-member
|
215
215
|
def add_team_member(id, username)
|
216
|
-
|
216
|
+
boolean_request :put, "/teams/#{id}/members/#{username}"
|
217
217
|
end
|
218
218
|
alias :add_organization_member :add_team_member
|
219
219
|
|
@@ -227,7 +227,7 @@ module GitHub
|
|
227
227
|
# @return [Boolean] True if successful, false if not.
|
228
228
|
# @see http://developer.github.com/v3/orgs/teams/#remove-team-member
|
229
229
|
def remove_team_member(id, username)
|
230
|
-
|
230
|
+
boolean_request :delete, "/teams/#{id}/members/#{username}"
|
231
231
|
end
|
232
232
|
|
233
233
|
# List all repositories for a team.
|
@@ -238,7 +238,7 @@ module GitHub
|
|
238
238
|
# @return [Boolean] True if successful, false if not.
|
239
239
|
# @see http://developer.github.com/v3/orgs/teams/#list-team-repos
|
240
240
|
def team_repos(id)
|
241
|
-
get "/teams/#{id}/repos"
|
241
|
+
get "/teams/#{id}/repos"
|
242
242
|
end
|
243
243
|
|
244
244
|
# Determine if a repo is managed by a team.
|
@@ -251,7 +251,7 @@ module GitHub
|
|
251
251
|
# @return [Boolean] True if it is managed by the team, false if not.
|
252
252
|
# @see http://developer.github.com/v3/orgs/teams/#get-team-repo
|
253
253
|
def team_repo?(id, owner, repo)
|
254
|
-
|
254
|
+
boolean_request :get, "/teams/#{id}/repos/#{owner}/#{repo}"
|
255
255
|
end
|
256
256
|
|
257
257
|
# Add a team repository.
|
@@ -267,7 +267,7 @@ module GitHub
|
|
267
267
|
# @return [Boolean] True if successful, false if not.
|
268
268
|
# @see http://developer.github.com/v3/orgs/teams/#add-team-repo
|
269
269
|
def add_team_repo(id, org, repo)
|
270
|
-
|
270
|
+
boolean_request :put, "/teams/#{id}/repos/#{org}/#{repo}"
|
271
271
|
end
|
272
272
|
|
273
273
|
# Remove a team repository.
|
@@ -281,7 +281,7 @@ module GitHub
|
|
281
281
|
# @return [Boolean] True if successful, false if not.
|
282
282
|
# @see http://developer.github.com/v3/orgs/teams/#remove-team-repo
|
283
283
|
def remove_team_repo(id, owner, repo)
|
284
|
-
|
284
|
+
boolean_request :delete, "/teams/#{id}/repos/#{owner}/#{repo}"
|
285
285
|
end
|
286
286
|
|
287
287
|
end
|
@@ -14,7 +14,7 @@ module GitHub
|
|
14
14
|
# @example
|
15
15
|
# GitHub.pull_requests('caseyscarborough','github')
|
16
16
|
def pull_requests(owner, repo)
|
17
|
-
get "/repos/#{owner}/#{repo}/pulls"
|
17
|
+
get "/repos/#{owner}/#{repo}/pulls"
|
18
18
|
end
|
19
19
|
|
20
20
|
# Get a single pull request.
|
@@ -27,7 +27,7 @@ module GitHub
|
|
27
27
|
# @example
|
28
28
|
# GitHub.pull_request('caseyscarborough','github', 1)
|
29
29
|
def pull_request(owner, repo, number)
|
30
|
-
get "/repos/#{owner}/#{repo}/pulls/#{number}"
|
30
|
+
get "/repos/#{owner}/#{repo}/pulls/#{number}"
|
31
31
|
end
|
32
32
|
|
33
33
|
# Create a new pull request.
|
@@ -56,7 +56,7 @@ module GitHub
|
|
56
56
|
# base: 'master'
|
57
57
|
# )
|
58
58
|
def create_pull_request(owner, repo, options={})
|
59
|
-
post "/repos/#{owner}/#{repo}/pulls",
|
59
|
+
post "/repos/#{owner}/#{repo}/pulls", body: options
|
60
60
|
end
|
61
61
|
|
62
62
|
# Update a pull request.
|
@@ -73,7 +73,7 @@ module GitHub
|
|
73
73
|
# @return [Hash] The pull request information.
|
74
74
|
# @see http://developer.github.com/v3/pulls/#update-a-pull-request
|
75
75
|
def update_pull_request(owner, repo, number, options={})
|
76
|
-
patch "/repos/#{owner}/#{repo}/pulls/#{number}",
|
76
|
+
patch "/repos/#{owner}/#{repo}/pulls/#{number}", body: options
|
77
77
|
end
|
78
78
|
|
79
79
|
# List commits on a pull request.
|
@@ -84,7 +84,7 @@ module GitHub
|
|
84
84
|
# @return [Array] Array of commits as hashes.
|
85
85
|
# @see http://developer.github.com/v3/pulls/#list-commits-on-a-pull-request
|
86
86
|
def pull_request_commits(owner, repo, number)
|
87
|
-
get "/repos/#{owner}/#{repo}/pulls/#{number}/commits"
|
87
|
+
get "/repos/#{owner}/#{repo}/pulls/#{number}/commits"
|
88
88
|
end
|
89
89
|
|
90
90
|
# List pull requests files.
|
@@ -95,7 +95,7 @@ module GitHub
|
|
95
95
|
# @return [Array] Array of files as hashes.
|
96
96
|
# @see http://developer.github.com/v3/pulls/#list-pull-requests-files
|
97
97
|
def pull_request_files(owner, repo, number)
|
98
|
-
get "/repos/#{owner}/#{repo}/pulls/#{number}/files"
|
98
|
+
get "/repos/#{owner}/#{repo}/pulls/#{number}/files"
|
99
99
|
end
|
100
100
|
|
101
101
|
# Check if a pull request has been merged.
|
@@ -106,7 +106,7 @@ module GitHub
|
|
106
106
|
# @return [Boolean] True if it has been merged, false if not.
|
107
107
|
# @see http://developer.github.com/v3/pulls/#get-if-a-pull-request-has-been-merged
|
108
108
|
def pull_request_merged?(owner, repo, number)
|
109
|
-
|
109
|
+
boolean_request :get, "/repos/#{owner}/#{repo}/pulls/#{number}/merge"
|
110
110
|
end
|
111
111
|
|
112
112
|
# Merge a pull request.
|
@@ -119,7 +119,7 @@ module GitHub
|
|
119
119
|
# @return [Hash] Merge information.
|
120
120
|
# @see http://developer.github.com/v3/pulls/#merge-a-pull-request-merge-buttontrade
|
121
121
|
def merge_pull_request(owner, repo, number)
|
122
|
-
put "/repos/#{owner}/#{repo}/pulls/#{number}/merge"
|
122
|
+
put "/repos/#{owner}/#{repo}/pulls/#{number}/merge"
|
123
123
|
end
|
124
124
|
|
125
125
|
# List comments on a pull request.
|
@@ -130,7 +130,7 @@ module GitHub
|
|
130
130
|
# @return [Array] Array of comments as hashes.
|
131
131
|
# @see http://developer.github.com/v3/pulls/comments/#list-comments-on-a-pull-request
|
132
132
|
def pull_request_comments(owner, repo, number)
|
133
|
-
get "/repos/#{owner}/#{repo}/pulls/#{number}/comments"
|
133
|
+
get "/repos/#{owner}/#{repo}/pulls/#{number}/comments"
|
134
134
|
end
|
135
135
|
|
136
136
|
# List comments in a repository.
|
@@ -140,7 +140,7 @@ module GitHub
|
|
140
140
|
# @return [Array] Array of comments as hashes.
|
141
141
|
# @see http://developer.github.com/v3/pulls/comments/#list-comments-in-a-repository
|
142
142
|
def repo_pull_request_comments(owner, repo)
|
143
|
-
get "/repos/#{owner}/#{repo}/pulls/comments"
|
143
|
+
get "/repos/#{owner}/#{repo}/pulls/comments"
|
144
144
|
end
|
145
145
|
|
146
146
|
# Get a single pull request comment.
|
@@ -153,7 +153,7 @@ module GitHub
|
|
153
153
|
# @example
|
154
154
|
# GitHub.pull_request_comment('caseyscarborough', 'github', 1242348)
|
155
155
|
def pull_request_comment(owner, repo, number)
|
156
|
-
get "/repos/#{owner}/#{repo}/pulls/comments/#{number}"
|
156
|
+
get "/repos/#{owner}/#{repo}/pulls/comments/#{number}"
|
157
157
|
end
|
158
158
|
|
159
159
|
# Create a pull request comment.
|
@@ -181,7 +181,7 @@ module GitHub
|
|
181
181
|
# position: 2
|
182
182
|
# )
|
183
183
|
def create_pull_request_comment(owner, repo, number, options={})
|
184
|
-
post "/repos/#{owner}/#{repo}/pulls/#{number}/comments",
|
184
|
+
post "/repos/#{owner}/#{repo}/pulls/#{number}/comments", body: options
|
185
185
|
end
|
186
186
|
|
187
187
|
# Edit a pull request comment.
|
@@ -198,7 +198,7 @@ module GitHub
|
|
198
198
|
# client.edit_pull_request_comment('caseyscarborough', 'github', 1242348, 'What up, girl?')
|
199
199
|
def edit_pull_request_comment(owner, repo, number, body)
|
200
200
|
options = { body: body }
|
201
|
-
patch "/repos/#{owner}/#{repo}/pulls/comments/#{number}",
|
201
|
+
patch "/repos/#{owner}/#{repo}/pulls/comments/#{number}", body: options
|
202
202
|
end
|
203
203
|
|
204
204
|
# Delete a pull request comment.
|
@@ -212,7 +212,7 @@ module GitHub
|
|
212
212
|
# @example
|
213
213
|
# client.delete_pull_request_comment('caseyscarborough', 'github', 1242348)
|
214
214
|
def delete_pull_request_comment(owner, repo, number)
|
215
|
-
|
215
|
+
boolean_request :delete, "/repos/#{owner}/#{repo}/pulls/comments/#{number}"
|
216
216
|
end
|
217
217
|
end
|
218
218
|
|