octokit 0.6.5 → 1.0.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/.rspec +1 -2
- data/.travis.yml +0 -1
- data/CHANGELOG.md +1 -0
- data/Gemfile +1 -1
- data/README.md +41 -28
- data/Rakefile +11 -0
- data/lib/faraday/response/raise_octokit_error.rb +4 -2
- data/lib/octokit/client.rb +2 -0
- data/lib/octokit/client/commits.rb +12 -0
- data/lib/octokit/client/events.rb +26 -0
- data/lib/octokit/client/issues.rb +35 -7
- data/lib/octokit/client/labels.rb +5 -5
- data/lib/octokit/client/objects.rb +10 -6
- data/lib/octokit/client/organizations.rb +25 -21
- data/lib/octokit/client/pub_sub_hubbub/service_hooks.rb +2 -2
- data/lib/octokit/client/pulls.rb +4 -4
- data/lib/octokit/client/repositories.rb +18 -18
- data/lib/octokit/client/users.rb +19 -14
- data/lib/octokit/configuration.rb +14 -11
- data/lib/octokit/connection.rb +3 -3
- data/lib/octokit/request.rb +17 -1
- data/lib/octokit/version.rb +1 -1
- data/octokit.gemspec +13 -12
- data/spec/fixtures/v3/blob.json +7 -0
- data/spec/fixtures/v3/commit_comment.json +19 -0
- data/spec/fixtures/v3/commit_comments.json +78 -0
- data/spec/fixtures/v3/emails.json +4 -0
- data/spec/fixtures/v3/followers.json +212 -0
- data/spec/fixtures/v3/following.json +209 -0
- data/spec/fixtures/v3/issue.json +37 -0
- data/spec/fixtures/v3/issue_closed.json +37 -0
- data/spec/fixtures/v3/issue_event.json +44 -0
- data/spec/fixtures/v3/issue_events.json +72 -0
- data/spec/fixtures/v3/list_commit_comments.json +572 -0
- data/spec/fixtures/v3/organization-repositories.json +4292 -0
- data/spec/fixtures/v3/organization-repository.json +42 -0
- data/spec/fixtures/v3/organization.json +18 -0
- data/spec/fixtures/v3/organization_members.json +576 -0
- data/spec/fixtures/v3/organization_team_members.json +16 -0
- data/spec/fixtures/v3/organization_team_repos.json +62 -0
- data/spec/fixtures/v3/organizations.json +44 -0
- data/spec/fixtures/v3/public_events.json +1110 -0
- data/spec/fixtures/v3/pull_created.json +138 -0
- data/spec/fixtures/v3/pull_request.json +138 -0
- data/spec/fixtures/v3/pull_requests.json +187 -0
- data/spec/fixtures/v3/repo_events.json +1668 -0
- data/spec/fixtures/v3/repo_issues_events.json +134 -0
- data/spec/fixtures/v3/team.json +8 -0
- data/spec/fixtures/v3/teams.json +4 -4
- data/spec/fixtures/v3/tree.json +112 -0
- data/spec/fixtures/v3/watched.json +1022 -0
- data/spec/helper.rb +3 -3
- data/spec/octokit/client/commits_spec.rb +33 -0
- data/spec/octokit/client/events_spec.rb +27 -0
- data/spec/octokit/client/issue_events_spec.rb +30 -0
- data/spec/octokit/client/issues_spec.rb +31 -20
- data/spec/octokit/client/labels_spec.rb +1 -1
- data/spec/octokit/client/objects_spec.rb +9 -8
- data/spec/octokit/client/organizations_spec.rb +56 -67
- data/spec/octokit/client/pulls_spec.rb +19 -18
- data/spec/octokit/client/repositories_spec.rb +24 -38
- data/spec/octokit/client/users_spec.rb +50 -51
- data/spec/octokit/client_spec.rb +16 -0
- metadata +111 -81
- data/puppeteer.jpg +0 -0
- data/spec/fixtures/v2/blob.json +0 -1
- data/spec/fixtures/v2/comment.json +0 -1
- data/spec/fixtures/v2/comments.json +0 -1
- data/spec/fixtures/v2/delete_failure.json +0 -1
- data/spec/fixtures/v2/delete_token.json +0 -1
- data/spec/fixtures/v2/emails.json +0 -1
- data/spec/fixtures/v2/followers.json +0 -1
- data/spec/fixtures/v2/following.json +0 -1
- data/spec/fixtures/v2/issue.json +0 -1
- data/spec/fixtures/v2/labels.json +0 -1
- data/spec/fixtures/v2/organization.json +0 -1
- data/spec/fixtures/v2/organizations.json +0 -1
- data/spec/fixtures/v2/public_keys.json +0 -1
- data/spec/fixtures/v2/pull.json +0 -1
- data/spec/fixtures/v2/pulls.json +0 -1
- data/spec/fixtures/v2/tags.json +0 -1
- data/spec/fixtures/v2/team.json +0 -1
- data/spec/fixtures/v2/teams.json +0 -1
- data/spec/fixtures/v2/tree.json +0 -1
data/.rspec
CHANGED
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
* [0.6.5 - October 15, 2011](https://github.com/pengwynn/octokit/compare/v0.6.4...v0.6.5)
|
3
4
|
* [0.6.4 - July 2, 2011](https://github.com/pengwynn/octokit/compare/v0.6.3...v0.6.4)
|
4
5
|
* [0.6.3 - May 5, 2011](https://github.com/pengwynn/octokit/compare/v0.6.2...v0.6.3)
|
5
6
|
* [0.6.2 - April 26, 2011](https://github.com/pengwynn/octokit/compare/v0.6.1...v0.6.2)
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,18 +1,18 @@
|
|
1
|
-
# Octokit
|
2
|
-
Simple Ruby wrapper for the GitHub v2 API.
|
1
|
+
# Octokit [][travis] [][gemnasium]
|
2
|
+
Simple Ruby wrapper for the GitHub v2 & v3 API.
|
3
3
|
|
4
|
-
|
4
|
+
[travis]: http://travis-ci.org/pengwynn/octokit
|
5
|
+
[gemnasium]: https://gemnasium.com/pengwynn/octokit
|
5
6
|
|
6
|
-
## <a name="installation">Installation
|
7
|
+
## <a name="installation"></a>Installation
|
7
8
|
gem install octokit
|
8
9
|
|
9
|
-
## <a name="
|
10
|
-
[
|
10
|
+
## <a name="documentation"></a>Documentation
|
11
|
+
[http://rdoc.info/gems/octokit][documentation]
|
11
12
|
|
12
|
-
|
13
|
-
http://rdoc.info/gems/octokit
|
13
|
+
[documentation]: http://rdoc.info/gems/octokit
|
14
14
|
|
15
|
-
## <a name="examples">Examples
|
15
|
+
## <a name="examples"></a>Examples
|
16
16
|
### Show a user
|
17
17
|
Octokit.user("sferik")
|
18
18
|
=> <#Hashie::Rash blog="http://twitter.com/sferik" company="Code for America" created_at="2008/05/14 13:36:12 -0700" email="sferik@gmail.com" followers_count=177 following_count=83 gravatar_id="1f74b13f1e5c6c69cb5d7fbaabb1e2cb" id=10308 location="San Francisco" login="sferik" name="Erik Michaels-Ober" permission=nil public_gist_count=16 public_repo_count=30 type="User">
|
@@ -32,7 +32,7 @@ For convenience, methods that require a repoistory argument may be passed in any
|
|
32
32
|
Octokit.repo("pengwynn/octokit")
|
33
33
|
=> <#Hashie::Rash created_at="2009/12/10 13:41:49 -0800" description="Simple Ruby wrapper for the GitHub v2 API and feeds" fork=false forks=25 has_downloads=true has_issues=true has_wiki=true homepage="http://wynnnetherland.com/projects/octokit" integrate_branch="master" language="Ruby" name="octokit" open_issues=8 owner="pengwynn" private=false pushed_at="2011/05/05 10:48:57 -0700" size=1804 url="https://github.com/pengwynn/octokit" watchers=92>
|
34
34
|
|
35
|
-
## <a name="authenticated_requests">Authenticated
|
35
|
+
## <a name="authenticated_requests"></a>Authenticated Requests
|
36
36
|
For methods that require authentication, you'll need to setup a client with
|
37
37
|
your login and password.
|
38
38
|
|
@@ -40,34 +40,42 @@ your login and password.
|
|
40
40
|
client.follow!("sferik")
|
41
41
|
|
42
42
|
Alternately, you can authenticate with a GitHub OAuth2 token. Note: this is
|
43
|
-
**NOT** the GitHub API token on your [account
|
44
|
-
|
43
|
+
**NOT** the GitHub API token on your [account page][account].
|
44
|
+
|
45
|
+
[account]: https://github.com/account
|
45
46
|
|
46
47
|
client = Octokit::Client.new(:login => "me", :oauth_token => "oauth2token")
|
47
48
|
client.follow!("sferik")
|
48
49
|
|
49
|
-
## <a name="pulls">Submitting a Pull Request
|
50
|
+
## <a name="pulls"></a>Submitting a Pull Request
|
50
51
|
1. Fork the project.
|
51
52
|
2. Create a topic branch.
|
52
53
|
3. Implement your feature or bug fix.
|
53
54
|
4. Add documentation for your feature or bug fix.
|
54
|
-
5. Run
|
55
|
+
5. Run `bundle exec rake doc:yard`. If your changes are not 100% documented, go
|
56
|
+
back to step 4.
|
55
57
|
6. Add specs for your feature or bug fix.
|
56
|
-
7. Run
|
58
|
+
7. Run `bundle exec rake spec`. If your changes are not 100% covered, go back
|
59
|
+
to step 6.
|
57
60
|
8. Commit and push your changes.
|
58
|
-
9. Submit a pull request. Please do not include changes to the version or
|
61
|
+
9. Submit a pull request. Please do not include changes to the version or
|
62
|
+
gemspec. (If you want to create your own version for some reason, please do
|
63
|
+
so in a separate commit.)
|
59
64
|
|
60
|
-
## <a name="
|
61
|
-
This library aims to support and is [tested
|
62
|
-
against](http://travis-ci.org/pengwynn/octokit) the following Ruby
|
65
|
+
## <a name="versions"></a>Supported Ruby Versions
|
66
|
+
This library aims to support and is [tested against][travis] the following Ruby
|
63
67
|
implementations:
|
64
68
|
|
65
69
|
* Ruby 1.8.7
|
66
|
-
* Ruby 1.9.1
|
67
70
|
* Ruby 1.9.2
|
68
|
-
*
|
69
|
-
* [
|
70
|
-
* [
|
71
|
+
* Ruby 1.9.3
|
72
|
+
* [JRuby][]
|
73
|
+
* [Rubinius][]
|
74
|
+
* [Ruby Enterprise Edition][ree]
|
75
|
+
|
76
|
+
[jruby]: http://www.jruby.org/
|
77
|
+
[rubinius]: http://rubini.us/
|
78
|
+
[ree]: http://www.rubyenterpriseedition.com/
|
71
79
|
|
72
80
|
If something doesn't work on one of these interpreters, it should be considered
|
73
81
|
a bug.
|
@@ -83,9 +91,14 @@ implementation, you will be personally responsible for providing patches in a
|
|
83
91
|
timely fashion. If critical issues for a particular implementation exist at the
|
84
92
|
time of a major release, support for that Ruby version may be dropped.
|
85
93
|
|
86
|
-
## <a name="inspiration">Inspiration
|
87
|
-
Octokit was inspired by [Octopi]
|
94
|
+
## <a name="inspiration"></a>Inspiration
|
95
|
+
Octokit was inspired by [Octopi][] and aims to be a lightweight,
|
96
|
+
less-ActiveResourcey alternative.
|
97
|
+
|
98
|
+
[octopi]: https://github.com/fcoury/octopi
|
99
|
+
|
100
|
+
## <a name="copyright"></a>Copyright
|
101
|
+
Copyright (c) 2011 Wynn Netherland, Adam Stacoviak, Erik Michaels-Ober. See
|
102
|
+
[LICENSE][] for details.
|
88
103
|
|
89
|
-
|
90
|
-
Copyright (c) 2011 [Wynn Netherland](http://wynnnetherland.com), [Adam Stacoviak](http://adamstacoviak.com/), [Erik Michaels-Ober](https://github.com/sferik).
|
91
|
-
See [LICENSE](https://github.com/pengwynn/octokit/blob/master/LICENSE) for details.
|
104
|
+
[license]: https://github.com/pengwynn/octokit/blob/master/LICENSE
|
data/Rakefile
CHANGED
@@ -8,3 +8,14 @@ RSpec::Core::RakeTask.new(:spec)
|
|
8
8
|
|
9
9
|
task :test => :spec
|
10
10
|
task :default => :spec
|
11
|
+
|
12
|
+
namespace :doc do
|
13
|
+
require 'yard'
|
14
|
+
YARD::Rake::YardocTask.new do |task|
|
15
|
+
task.files = ['README.md', 'LICENSE.md', 'lib/**/*.rb']
|
16
|
+
task.options = [
|
17
|
+
'--output-dir', 'doc/yard',
|
18
|
+
'--markup', 'markdown',
|
19
|
+
]
|
20
|
+
end
|
21
|
+
end
|
@@ -30,8 +30,10 @@ module Faraday
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def error_message(response)
|
33
|
-
message = if body = response[:body]
|
34
|
-
|
33
|
+
message = if ( body = response[:body] ) && !body.empty?
|
34
|
+
if body.is_a? String
|
35
|
+
body = ::MultiJson.decode body, :symbolize_keys => true
|
36
|
+
end
|
35
37
|
": #{body[:error] || body[:message] || ''}"
|
36
38
|
else
|
37
39
|
''
|
data/lib/octokit/client.rb
CHANGED
@@ -16,6 +16,7 @@ require 'octokit/client/pulls'
|
|
16
16
|
require 'octokit/client/repositories'
|
17
17
|
require 'octokit/client/timelines'
|
18
18
|
require 'octokit/client/users'
|
19
|
+
require 'octokit/client/events'
|
19
20
|
|
20
21
|
module Octokit
|
21
22
|
class Client
|
@@ -45,5 +46,6 @@ module Octokit
|
|
45
46
|
include Octokit::Client::Repositories
|
46
47
|
include Octokit::Client::Timelines
|
47
48
|
include Octokit::Client::Users
|
49
|
+
include Octokit::Client::Events
|
48
50
|
end
|
49
51
|
end
|
@@ -12,6 +12,18 @@ module Octokit
|
|
12
12
|
get("/repos/#{Repository.new(repo)}/commits/#{sha}", options, 3)
|
13
13
|
end
|
14
14
|
|
15
|
+
def list_commit_comments(repo, options={})
|
16
|
+
get("/repos/#{Repository.new(repo)}/comments", options, 3)
|
17
|
+
end
|
18
|
+
|
19
|
+
def commit_comments(repo, sha, options={})
|
20
|
+
get("/repos/#{Repository.new(repo)}/commits/#{sha}/comments", options, 3)
|
21
|
+
end
|
22
|
+
|
23
|
+
def commit_comment(repo, id, options={})
|
24
|
+
get("/repos/#{Repository.new(repo)}/comments/#{id}", options, 3)
|
25
|
+
end
|
26
|
+
|
15
27
|
end
|
16
28
|
end
|
17
29
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Octokit
|
2
|
+
class Client
|
3
|
+
module Events
|
4
|
+
# List all public events for GitHub
|
5
|
+
#
|
6
|
+
# @return [Array] A list of all public events from GitHub
|
7
|
+
# @see http://developer.github.com/v3/events
|
8
|
+
# @example List all pubilc events
|
9
|
+
# Octokit.public_events
|
10
|
+
def public_events(options={})
|
11
|
+
get("/events", options, 3)
|
12
|
+
end
|
13
|
+
|
14
|
+
# List events for a repository
|
15
|
+
#
|
16
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
17
|
+
# @return [Array] A list of events for a repository
|
18
|
+
# @see http://developer.github.com/v3/events
|
19
|
+
# @example List events for a repository
|
20
|
+
# Octokit.repository_events("sferik/rails_admin")
|
21
|
+
def repository_events(repo, options={})
|
22
|
+
get("/repos/#{Repository.new(repo)}/events", options, 3)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -12,7 +12,7 @@ module Octokit
|
|
12
12
|
# @example Search for 'test' in the open issues for sferik/rails_admin
|
13
13
|
# Octokit.search_issues("sferik/rails_admin", 'test', 'open')
|
14
14
|
def search_issues(repo, search_term, state='open', options={})
|
15
|
-
get("/api/v2/json/issues/search/#{Repository.new(repo)}/#{state}/#{search_term}", options)['issues']
|
15
|
+
get("/api/v2/json/issues/search/#{Repository.new(repo)}/#{state}/#{search_term}", options, 2)['issues']
|
16
16
|
end
|
17
17
|
|
18
18
|
# List issues for a repository
|
@@ -46,7 +46,7 @@ module Octokit
|
|
46
46
|
# @example Create a new Issues for a repository
|
47
47
|
# Octokit.create_issue("sferik/rails_admin")
|
48
48
|
def create_issue(repo, title, body, options={})
|
49
|
-
post("/
|
49
|
+
post("/repos/#{Repository.new(repo)}/issues", options.merge({:title => title, :body => body}), 3)
|
50
50
|
end
|
51
51
|
alias :open_issue :create_issue
|
52
52
|
|
@@ -59,7 +59,7 @@ module Octokit
|
|
59
59
|
# @example Get issue #25 from pengwynn/octokit
|
60
60
|
# Octokit.issue("pengwynn/octokit", "25")
|
61
61
|
def issue(repo, number, options={})
|
62
|
-
get("/
|
62
|
+
get("/repos/#{Repository.new(repo)}/issues/#{number}", options, 3)
|
63
63
|
end
|
64
64
|
|
65
65
|
# Close an issue
|
@@ -73,7 +73,7 @@ module Octokit
|
|
73
73
|
# @example Close Issue #25 from pengwynn/octokit
|
74
74
|
# Octokit.close_issue("pengwynn/octokit", "25")
|
75
75
|
def close_issue(repo, number, options={})
|
76
|
-
post("/
|
76
|
+
post("/repos/#{Repository.new(repo)}/issues/#{number}", options.merge({:state => "closed"}), 3)
|
77
77
|
end
|
78
78
|
|
79
79
|
# Reopen an issue
|
@@ -87,7 +87,7 @@ module Octokit
|
|
87
87
|
# @example Reopen Issue #25 from pengwynn/octokit
|
88
88
|
# Octokit.reopen_issue("pengwynn/octokit", "25")
|
89
89
|
def reopen_issue(repo, number, options={})
|
90
|
-
post("/
|
90
|
+
post("/repos/#{Repository.new(repo)}/issues/#{number}", options.merge({:state => "open"}), 3)
|
91
91
|
end
|
92
92
|
|
93
93
|
# Update an issue
|
@@ -103,7 +103,7 @@ module Octokit
|
|
103
103
|
# @example Change the title of Issue #25
|
104
104
|
# Octokit.update_issue("pengwynn/octokit", "25", "A new title", "the same body"")
|
105
105
|
def update_issue(repo, number, title, body, options={})
|
106
|
-
post("/
|
106
|
+
post("/repos/#{Repository.new(repo)}/issues/#{number}", options.merge({:title => title, :body => body}), 3)
|
107
107
|
end
|
108
108
|
|
109
109
|
# Get all comments attached to an issue
|
@@ -122,7 +122,7 @@ module Octokit
|
|
122
122
|
#
|
123
123
|
# @param repo [String, Repository, Hash] A GitHub repository
|
124
124
|
# @param number [String] Number ID of the issue
|
125
|
-
# @return [
|
125
|
+
# @return [Comment] The specific comment in question
|
126
126
|
# @see http://developer.github.com/v3/issues/comments/#get-a-single-comment
|
127
127
|
# @example Get comments for issue #25 from pengwynn/octokit
|
128
128
|
# Octokit.issue_comments("pengwynn/octokit", "25")
|
@@ -167,6 +167,34 @@ module Octokit
|
|
167
167
|
def delete_comment(repo, number, options={})
|
168
168
|
delete("/repos/#{Repository.new(repo)}/issues/comments/#{number}", options, 3, true, true)
|
169
169
|
end
|
170
|
+
|
171
|
+
|
172
|
+
# List events for an Issue
|
173
|
+
#
|
174
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
175
|
+
# @param number [Integer] Issue number
|
176
|
+
#
|
177
|
+
# @return [Array] Array of events for that issue
|
178
|
+
# @see http://developer.github.com/v3/issues/events/
|
179
|
+
# @example List all issues events for issue #38 on pengwynn/octokit
|
180
|
+
# Octokit.issue_events("pengwynn/octokit", 38)
|
181
|
+
def issue_events(repo, number, options={})
|
182
|
+
get("/repos/#{Repository.new(repo)}/issues/#{number}/events", options, 3)
|
183
|
+
end
|
184
|
+
|
185
|
+
# Get information on a single Issue Event
|
186
|
+
#
|
187
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
188
|
+
# @param number [Integer] Event number
|
189
|
+
#
|
190
|
+
# @return [Event] A single Event for an Issue
|
191
|
+
# @see http://developer.github.com/v3/issues/events/#get-a-single-event
|
192
|
+
# @example Get Event information for ID 3094334 (a pull request was closed)
|
193
|
+
# Octokit.issue_event("pengwynn/octokit", 3094334)
|
194
|
+
def issue_event(repo, number, options={})
|
195
|
+
get("/repos/#{Repository.new(repo)}/issues/events/#{number}", options, 3)
|
196
|
+
end
|
197
|
+
|
170
198
|
end
|
171
199
|
end
|
172
200
|
end
|
@@ -38,7 +38,7 @@ module Octokit
|
|
38
38
|
post("repos/#{Repository.new(repo)}/labels", options.merge({:name => label, :color => color}), 3)
|
39
39
|
end
|
40
40
|
|
41
|
-
# Update a label
|
41
|
+
# Update a label
|
42
42
|
#
|
43
43
|
# @param repo [String, Repository, Hash] A GitHub repository
|
44
44
|
# @param label [String] The name of the label which will be updated
|
@@ -53,7 +53,7 @@ module Octokit
|
|
53
53
|
post("repos/#{Repository.new(repo)}/labels/#{URI.encode_www_form_component(label)}", options, 3)
|
54
54
|
end
|
55
55
|
|
56
|
-
# Delete a label from a repository.
|
56
|
+
# Delete a label from a repository.
|
57
57
|
#
|
58
58
|
# This deletes the label from the repository, and removes it from all issues.
|
59
59
|
#
|
@@ -140,12 +140,12 @@ module Octokit
|
|
140
140
|
#
|
141
141
|
# @param repo [String, Repository, Hash] A GitHub repository
|
142
142
|
# @param number [String] Number ID of the milestone
|
143
|
-
# @return [Array] A list of the labels across the milestone
|
143
|
+
# @return [Array] A list of the labels across the milestone
|
144
144
|
# @see http://developer.github.com/v3/issues/labels/#get-labels-for-every-issue-in-a-milestone
|
145
145
|
# @example List all labels for milestone #2 on pengwynn/octokit
|
146
146
|
# Octokit.labels_for_milestone("pengwynn/octokit", 2)
|
147
|
-
def labels_for_milestone(repo, number, options={})
|
148
|
-
get("repos/#{Repository.new(repo)}/milestones/#{number}/labels", options, 3)
|
147
|
+
def labels_for_milestone(repo, number, options={})
|
148
|
+
get("repos/#{Repository.new(repo)}/milestones/#{number}/labels", options, 3)
|
149
149
|
end
|
150
150
|
|
151
151
|
end
|
@@ -2,27 +2,31 @@ module Octokit
|
|
2
2
|
class Client
|
3
3
|
module Objects
|
4
4
|
def tree(repo, tree_sha, options={})
|
5
|
-
get("
|
5
|
+
get("repos/#{Repository.new(repo)}/git/trees/#{tree_sha}", options)
|
6
6
|
end
|
7
7
|
|
8
|
-
def blob(repo, tree_sha,
|
9
|
-
get("
|
8
|
+
def blob(repo, tree_sha, options={})
|
9
|
+
get("repos/#{Repository.new(repo)}/git/blobs/#{tree_sha}", options)
|
10
10
|
end
|
11
11
|
|
12
|
+
# Depreciated
|
12
13
|
def blobs(repo, tree_sha, options={})
|
13
|
-
get("/api/v2/json/blob/all/#{Repository.new(repo)}/#{tree_sha}", options)['blobs']
|
14
|
+
get("/api/v2/json/blob/all/#{Repository.new(repo)}/#{tree_sha}", options, 2)['blobs']
|
14
15
|
end
|
15
16
|
|
17
|
+
# Depreciated
|
16
18
|
def blob_metadata(repo, tree_sha, options={})
|
17
|
-
get("/api/v2/json/blob/full/#{Repository.new(repo)}/#{tree_sha}", options)['blobs']
|
19
|
+
get("/api/v2/json/blob/full/#{Repository.new(repo)}/#{tree_sha}", options, 2)['blobs']
|
18
20
|
end
|
19
21
|
alias :blob_meta :blob_metadata
|
20
22
|
|
23
|
+
# Depreciated
|
21
24
|
def tree_metadata(repo, tree_sha, options={})
|
22
|
-
get("/api/v2/json/tree/full/#{Repository.new(repo)}/#{tree_sha}", options)['tree']
|
25
|
+
get("/api/v2/json/tree/full/#{Repository.new(repo)}/#{tree_sha}", options, 2)['tree']
|
23
26
|
end
|
24
27
|
alias :tree_meta :tree_metadata
|
25
28
|
|
29
|
+
# Depreciated
|
26
30
|
def raw(repo, sha, options={})
|
27
31
|
get("/api/v2/json/blob/show/#{Repository.new(repo)}/#{sha}", options, 2, true, true).body
|
28
32
|
end
|
@@ -2,86 +2,90 @@ module Octokit
|
|
2
2
|
class Client
|
3
3
|
module Organizations
|
4
4
|
def organization(org, options={})
|
5
|
-
get("
|
5
|
+
get("orgs/#{org}", options, 3)
|
6
6
|
end
|
7
7
|
alias :org :organization
|
8
8
|
|
9
9
|
def update_organization(org, values, options={})
|
10
|
-
|
10
|
+
patch("orgs/#{org}", options.merge({:organization => values}), 3)
|
11
11
|
end
|
12
12
|
alias :update_org :update_organization
|
13
13
|
|
14
14
|
def organizations(user=nil, options={})
|
15
15
|
if user
|
16
|
-
get("
|
16
|
+
get("users/#{user}/orgs", options, 3)
|
17
17
|
else
|
18
|
-
get("/
|
19
|
-
end
|
18
|
+
get("user/orgs", options, 3)
|
19
|
+
end
|
20
20
|
end
|
21
21
|
alias :list_organizations :organizations
|
22
22
|
alias :list_orgs :organizations
|
23
23
|
alias :orgs :organizations
|
24
24
|
|
25
25
|
def organization_repositories(org=nil, options={})
|
26
|
-
if org
|
27
|
-
|
26
|
+
if org.nil?
|
27
|
+
# Depreciated
|
28
|
+
get("/api/v2/json/organizations/repositories", options, 2)
|
28
29
|
else
|
29
|
-
get("/
|
30
|
-
end
|
30
|
+
get("orgs/#{org}/repos", options, 3)
|
31
|
+
end
|
31
32
|
end
|
32
33
|
alias :org_repositories :organization_repositories
|
33
34
|
alias :org_repos :organization_repositories
|
34
35
|
|
35
36
|
def organization_members(org, options={})
|
36
|
-
get("
|
37
|
+
get("orgs/#{org}/members", options, 3)
|
37
38
|
end
|
38
39
|
alias :org_members :organization_members
|
39
40
|
|
40
41
|
def organization_teams(org, options={})
|
41
|
-
get("
|
42
|
+
get("orgs/#{org}/teams", options, 3)
|
42
43
|
end
|
43
44
|
alias :org_teams :organization_teams
|
44
45
|
|
45
46
|
def create_team(org, values, options={})
|
46
|
-
post("
|
47
|
+
post("orgs/#{org}/teams", options.merge({:team => values}), 3)
|
47
48
|
end
|
48
49
|
|
49
50
|
def team(team_id, options={})
|
50
|
-
get("
|
51
|
+
get("teams/#{team_id}", options, 3)
|
51
52
|
end
|
52
53
|
|
53
54
|
def update_team(team_id, values, options={})
|
54
|
-
|
55
|
+
patch("teams/#{team_id}", options.merge({:team => values}), 3)
|
55
56
|
end
|
56
57
|
|
57
58
|
def delete_team(team_id, options={})
|
58
|
-
delete("
|
59
|
+
delete("teams/#{team_id}", options, 3, true, true)
|
59
60
|
end
|
60
61
|
|
61
62
|
def team_members(team_id, options={})
|
62
|
-
get("
|
63
|
+
get("teams/#{team_id}/members", options, 3)
|
63
64
|
end
|
64
65
|
|
65
66
|
def add_team_member(team_id, user, options={})
|
66
|
-
|
67
|
+
# There's a bug in this API call. The docs say to leave the body blank,
|
68
|
+
# but it fails if the body is both blank and the content-length header
|
69
|
+
# is not 0.
|
70
|
+
put("teams/#{team_id}/members/#{user}", options.merge({:name => user}), 3, true, raw=true).status == 204
|
67
71
|
end
|
68
72
|
|
69
73
|
def remove_team_member(team_id, user, options={})
|
70
|
-
delete("
|
74
|
+
delete("teams/#{team_id}/members/#{user}", options, 3, true, raw=true).status == 204
|
71
75
|
end
|
72
76
|
|
73
77
|
def team_repositories(team_id, options={})
|
74
|
-
get("
|
78
|
+
get("teams/#{team_id}/repos", options, 3)
|
75
79
|
end
|
76
80
|
alias :team_repos :team_repositories
|
77
81
|
|
78
82
|
def add_team_repository(team_id, repo, options={})
|
79
|
-
|
83
|
+
put("teams/#{team_id}/repos/#{Repository.new(repo)}", options.merge(:name => Repository.new(repo)), 3, true, raw=true).status == 204
|
80
84
|
end
|
81
85
|
alias :add_team_repo :add_team_repository
|
82
86
|
|
83
87
|
def remove_team_repository(team_id, repo, options={})
|
84
|
-
delete("
|
88
|
+
delete("teams/#{team_id}/repos/#{Repository.new(repo)}", options, 3, true, raw=true).status == 204
|
85
89
|
end
|
86
90
|
alias :remove_team_repo :remove_team_repository
|
87
91
|
end
|