octokit 1.11.0 → 1.12.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/CHANGELOG.md +1 -0
- data/lib/octokit/authentication.rb +11 -0
- data/lib/octokit/client.rb +2 -0
- data/lib/octokit/client/statuses.rb +29 -0
- data/lib/octokit/configuration.rb +4 -0
- data/lib/octokit/connection.rb +1 -0
- data/lib/octokit/version.rb +1 -1
- data/spec/fixtures/v3/status.json +16 -0
- data/spec/fixtures/v3/statuses.json +34 -0
- data/spec/octokit/client/statuses_spec.rb +35 -0
- data/spec/octokit/client_spec.rb +26 -0
- metadata +9 -2
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
* [1.12.0 - September 4,2012](https://github.com/pengwynn/octokit/compare/v1.11.0...v1.12.0)
|
3
4
|
* [1.11.0 - August 29, 2012](https://github.com/pengwynn/octokit/compare/v1.10.0...v1.11.0)
|
4
5
|
* [1.10.0 - August 8, 2012](https://github.com/pengwynn/octokit/compare/v1.9.4...v1.10.0)
|
5
6
|
* [1.9.4 - August 6, 2012](https://github.com/pengwynn/octokit/compare/v1.9.3...v1.9.4)
|
@@ -15,5 +15,16 @@ module Octokit
|
|
15
15
|
def oauthed?
|
16
16
|
!oauth_token.nil?
|
17
17
|
end
|
18
|
+
|
19
|
+
def unauthed_rate_limited?
|
20
|
+
client_id && client_secret
|
21
|
+
end
|
22
|
+
|
23
|
+
def unauthed_rate_limit_params
|
24
|
+
{
|
25
|
+
:client_id => client_id,
|
26
|
+
:client_secret => client_secret
|
27
|
+
}
|
28
|
+
end
|
18
29
|
end
|
19
30
|
end
|
data/lib/octokit/client.rb
CHANGED
@@ -23,6 +23,7 @@ require 'octokit/client/refs'
|
|
23
23
|
require 'octokit/client/contents'
|
24
24
|
require 'octokit/client/markdown'
|
25
25
|
require 'octokit/client/emojis'
|
26
|
+
require 'octokit/client/statuses'
|
26
27
|
|
27
28
|
module Octokit
|
28
29
|
class Client
|
@@ -58,5 +59,6 @@ module Octokit
|
|
58
59
|
include Octokit::Client::Contents
|
59
60
|
include Octokit::Client::Markdown
|
60
61
|
include Octokit::Client::Emojis
|
62
|
+
include Octokit::Client::Statuses
|
61
63
|
end
|
62
64
|
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Octokit
|
2
|
+
class Client
|
3
|
+
module Statuses
|
4
|
+
|
5
|
+
# List all statuses for a given commit
|
6
|
+
#
|
7
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
8
|
+
# @param sha [String] The SHA1 for the commit
|
9
|
+
# @return [Array] A list of statuses
|
10
|
+
# @see http://developer.github.com/v3/repos/status
|
11
|
+
def statuses(repo, sha, options={})
|
12
|
+
get("repos/#{Repository.new(repo)}/statuses/#{sha}", options, 3)
|
13
|
+
end
|
14
|
+
alias :list_statuses :statuses
|
15
|
+
|
16
|
+
# Create status for a commit
|
17
|
+
#
|
18
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
19
|
+
# @param sha [String] The SHA1 for the commit
|
20
|
+
# @param state [String] The state: pending, success, failure, error
|
21
|
+
# @return [Hash] A status
|
22
|
+
# @see http://developer.github.com/v3/repos/status
|
23
|
+
def create_status(repo, sha, state, options={})
|
24
|
+
options.merge!(:state => state)
|
25
|
+
post("repos/#{Repository.new(repo)}/statuses/#{sha}", options, 3)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -12,6 +12,8 @@ module Octokit
|
|
12
12
|
:password,
|
13
13
|
:proxy,
|
14
14
|
:oauth_token,
|
15
|
+
:client_id,
|
16
|
+
:client_secret,
|
15
17
|
:user_agent,
|
16
18
|
:auto_traversal,
|
17
19
|
:per_page].freeze
|
@@ -54,6 +56,8 @@ module Octokit
|
|
54
56
|
self.password = nil
|
55
57
|
self.proxy = nil
|
56
58
|
self.oauth_token = nil
|
59
|
+
self.client_id = nil
|
60
|
+
self.client_secret = nil
|
57
61
|
self.user_agent = DEFAULT_USER_AGENT
|
58
62
|
self.auto_traversal = DEFAULT_AUTO_TRAVERSAL
|
59
63
|
end
|
data/lib/octokit/connection.rb
CHANGED
@@ -19,6 +19,7 @@ module Octokit
|
|
19
19
|
}
|
20
20
|
|
21
21
|
options.merge!(:params => {:access_token => oauth_token}) if oauthed? && !authenticated?
|
22
|
+
options.merge!(:params => unauthed_rate_limit_params) if !oauthed? && !authenticated? && unauthed_rate_limited?
|
22
23
|
|
23
24
|
# TODO: Don't build on every request
|
24
25
|
connection = Faraday.new(options) do |builder|
|
data/lib/octokit/version.rb
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
{
|
2
|
+
"target_url": "http://wynnnetherland.com",
|
3
|
+
"created_at": "2012-08-31T19:43:44Z",
|
4
|
+
"creator": {
|
5
|
+
"avatar_url": "https://secure.gravatar.com/avatar/7e19cd5486b5d6dc1ef90e671ba52ae0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png",
|
6
|
+
"gravatar_id": "7e19cd5486b5d6dc1ef90e671ba52ae0",
|
7
|
+
"login": "pengwynn",
|
8
|
+
"url": "https://api.github.com/users/pengwynn",
|
9
|
+
"id": 865
|
10
|
+
},
|
11
|
+
"description": null,
|
12
|
+
"updated_at": "2012-08-31T19:43:44Z",
|
13
|
+
"url": "https://api.github.com/repos/pengwynn/api-sandbox/statuses/195422",
|
14
|
+
"id": 195422,
|
15
|
+
"state": "success"
|
16
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"target_url": "http://travis-ci.org/pengwynn/octokit/builds/2092930",
|
4
|
+
"created_at": "2012-08-11T06:49:10Z",
|
5
|
+
"creator": {
|
6
|
+
"avatar_url": "https://secure.gravatar.com/avatar/7e19cd5486b5d6dc1ef90e671ba52ae0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png",
|
7
|
+
"gravatar_id": "7e19cd5486b5d6dc1ef90e671ba52ae0",
|
8
|
+
"login": "pengwynn",
|
9
|
+
"url": "https://api.github.com/users/pengwynn",
|
10
|
+
"id": 865
|
11
|
+
},
|
12
|
+
"description": "The Travis build failed",
|
13
|
+
"updated_at": "2012-08-11T06:49:10Z",
|
14
|
+
"url": "https://api.github.com/repos/pengwynn/octokit/statuses/64171",
|
15
|
+
"id": 64171,
|
16
|
+
"state": "failure"
|
17
|
+
},
|
18
|
+
{
|
19
|
+
"target_url": "http://travis-ci.org/pengwynn/octokit/builds/2092930",
|
20
|
+
"created_at": "2012-08-11T06:48:35Z",
|
21
|
+
"creator": {
|
22
|
+
"avatar_url": "https://secure.gravatar.com/avatar/7e19cd5486b5d6dc1ef90e671ba52ae0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png",
|
23
|
+
"gravatar_id": "7e19cd5486b5d6dc1ef90e671ba52ae0",
|
24
|
+
"login": "pengwynn",
|
25
|
+
"url": "https://api.github.com/users/pengwynn",
|
26
|
+
"id": 865
|
27
|
+
},
|
28
|
+
"description": "The Travis build is in progress",
|
29
|
+
"updated_at": "2012-08-11T06:48:35Z",
|
30
|
+
"url": "https://api.github.com/repos/pengwynn/octokit/statuses/64167",
|
31
|
+
"id": 64167,
|
32
|
+
"state": "pending"
|
33
|
+
}
|
34
|
+
]
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
describe Octokit::Client::Statuses do
|
5
|
+
|
6
|
+
before do
|
7
|
+
@client = Octokit::Client.new(:login => 'sferik')
|
8
|
+
end
|
9
|
+
|
10
|
+
describe '.statuses' do
|
11
|
+
|
12
|
+
it 'should list commit statuses' do
|
13
|
+
stub_get('https://api.github.com/repos/pengwynn/octokit/statuses/7d069dedd4cb56bf57760688657abd0e6b5a28b8').
|
14
|
+
to_return(:body => fixture('v3/statuses.json'))
|
15
|
+
statuses = @client.statuses('pengwynn/octokit', '7d069dedd4cb56bf57760688657abd0e6b5a28b8')
|
16
|
+
statuses.first.target_url.should == 'http://travis-ci.org/pengwynn/octokit/builds/2092930'
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
describe '.create_status' do
|
22
|
+
|
23
|
+
it 'should create status' do
|
24
|
+
stub_post('https://api.github.com/repos/pengwynn/octokit/statuses/7d069dedd4cb56bf57760688657abd0e6b5a28b8').
|
25
|
+
to_return(:body => fixture('v3/status.json'))
|
26
|
+
info = {
|
27
|
+
:target_url => 'http://wynnnetherland.com'
|
28
|
+
}
|
29
|
+
status = @client.create_status('pengwynn/octokit', '7d069dedd4cb56bf57760688657abd0e6b5a28b8', 'success', info)
|
30
|
+
status.target_url.should == 'http://wynnnetherland.com'
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
data/spec/octokit/client_spec.rb
CHANGED
@@ -62,6 +62,32 @@ describe Octokit::Client do
|
|
62
62
|
|
63
63
|
end
|
64
64
|
|
65
|
+
describe "unauthed rate limit" do
|
66
|
+
|
67
|
+
before(:each) do
|
68
|
+
Octokit.client_id = "OU812"
|
69
|
+
Octokit.client_secret = "P4N4MA"
|
70
|
+
|
71
|
+
stub_request(:get, "https://api.github.com/rate_limit?client_id=OU812&client_secret=P4N4MA").
|
72
|
+
to_return(:status => 200, :body => '', :headers =>
|
73
|
+
{ 'X-RateLimit-Limit' => 62500, 'X-RateLimit-Remaining' => 62500})
|
74
|
+
@client = Octokit::Client.new()
|
75
|
+
end
|
76
|
+
|
77
|
+
after(:each) do
|
78
|
+
Octokit.reset
|
79
|
+
end
|
80
|
+
|
81
|
+
it "should get the ratelimit-limit from the header" do
|
82
|
+
@client.ratelimit.should == 62500
|
83
|
+
end
|
84
|
+
|
85
|
+
it "should get the ratelimit-remaining using header" do
|
86
|
+
@client.ratelimit_remaining.should == 62500
|
87
|
+
end
|
88
|
+
|
89
|
+
end
|
90
|
+
|
65
91
|
describe "api_endpoint" do
|
66
92
|
|
67
93
|
after(:each) do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: octokit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.12.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2012-
|
14
|
+
date: 2012-09-04 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: addressable
|
@@ -246,6 +246,7 @@ files:
|
|
246
246
|
- lib/octokit/client/pulls.rb
|
247
247
|
- lib/octokit/client/refs.rb
|
248
248
|
- lib/octokit/client/repositories.rb
|
249
|
+
- lib/octokit/client/statuses.rb
|
249
250
|
- lib/octokit/client/users.rb
|
250
251
|
- lib/octokit/configuration.rb
|
251
252
|
- lib/octokit/connection.rb
|
@@ -327,6 +328,8 @@ files:
|
|
327
328
|
- spec/fixtures/v3/repositories.json
|
328
329
|
- spec/fixtures/v3/repository.json
|
329
330
|
- spec/fixtures/v3/starred_gists.json
|
331
|
+
- spec/fixtures/v3/status.json
|
332
|
+
- spec/fixtures/v3/statuses.json
|
330
333
|
- spec/fixtures/v3/tags.json
|
331
334
|
- spec/fixtures/v3/team.json
|
332
335
|
- spec/fixtures/v3/teams.json
|
@@ -356,6 +359,7 @@ files:
|
|
356
359
|
- spec/octokit/client/pulls_spec.rb
|
357
360
|
- spec/octokit/client/refs_spec.rb
|
358
361
|
- spec/octokit/client/repositories_spec.rb
|
362
|
+
- spec/octokit/client/statuses_spec.rb
|
359
363
|
- spec/octokit/client/users_spec.rb
|
360
364
|
- spec/octokit/client_spec.rb
|
361
365
|
- spec/octokit/gist_spec.rb
|
@@ -458,6 +462,8 @@ test_files:
|
|
458
462
|
- spec/fixtures/v3/repositories.json
|
459
463
|
- spec/fixtures/v3/repository.json
|
460
464
|
- spec/fixtures/v3/starred_gists.json
|
465
|
+
- spec/fixtures/v3/status.json
|
466
|
+
- spec/fixtures/v3/statuses.json
|
461
467
|
- spec/fixtures/v3/tags.json
|
462
468
|
- spec/fixtures/v3/team.json
|
463
469
|
- spec/fixtures/v3/teams.json
|
@@ -487,6 +493,7 @@ test_files:
|
|
487
493
|
- spec/octokit/client/pulls_spec.rb
|
488
494
|
- spec/octokit/client/refs_spec.rb
|
489
495
|
- spec/octokit/client/repositories_spec.rb
|
496
|
+
- spec/octokit/client/statuses_spec.rb
|
490
497
|
- spec/octokit/client/users_spec.rb
|
491
498
|
- spec/octokit/client_spec.rb
|
492
499
|
- spec/octokit/gist_spec.rb
|