octokit 1.5.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml CHANGED
@@ -1,4 +1,7 @@
1
1
  language: ruby
2
+ matrix:
3
+ allow_failures:
4
+ - rvm: ruby-head
2
5
  rvm:
3
6
  - rbx-18mode
4
7
  - rbx-19mode
data/CHANGELOG.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # CHANGELOG
2
2
 
3
+ * [1.6.0 - June 14, 2012](https://github.com/pengwynn/octokit/compare/v1.5.0...v1.6.0)
4
+ * [1.5.0 - June 14, 2012](https://github.com/pengwynn/octokit/compare/v1.4.0...v1.5.0)
3
5
  * [1.4.0 - June 3, 2012](https://github.com/pengwynn/octokit/compare/v1.3.0...v1.4.0)
4
6
  * [1.3.0 - May 17, 2012](https://github.com/pengwynn/octokit/compare/v1.2.1...v1.3.0)
5
7
  * [1.2.0 - May 17, 2012](https://github.com/pengwynn/octokit/compare/v1.1.1...v1.2.0)
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # Octokit [![Build Status](https://secure.travis-ci.org/pengwynn/octokit.png?branch=master)][travis] [![Dependency Status](https://gemnasium.com/pengwynn/octokit.png?travis)][gemnasium]
2
- Simple Ruby wrapper for the GitHub v2 & v3 API.
2
+ Simple Ruby wrapper for the GitHub v3 API.
3
3
 
4
4
  [travis]: http://travis-ci.org/pengwynn/octokit
5
5
  [gemnasium]: https://gemnasium.com/pengwynn/octokit
@@ -26,7 +26,8 @@ Octokit.following("sferik")
26
26
  ```
27
27
 
28
28
  ### Repositories
29
- For convenience, methods that require a repository argument may be passed in any of the following forms:
29
+ For convenience, methods that require a repository argument may be passed in
30
+ any of the following forms:
30
31
 
31
32
  * `"pengwynn/octokit"`
32
33
  * `{:username => "pengwynn", :name => "octokit"}`
@@ -35,7 +36,7 @@ For convenience, methods that require a repository argument may be passed in any
35
36
 
36
37
  ```ruby
37
38
  Octokit.repo("pengwynn/octokit")
38
- => <#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>
39
+ => <#Hashie::Rash created_at="2009/12/10 13:41:49 -0800" description="Simple Ruby wrapper for the GitHub 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>
39
40
  ```
40
41
 
41
42
  ## Authenticated Requests
@@ -13,7 +13,7 @@ module Octokit
13
13
  # client = Octokit::Client.new(:oauth_token = "token")
14
14
  # client.subscribe_service_hook('joshk/device_imapable', 'Travis', { :token => "test", :domain => "domain", :user => "user" })
15
15
  def subscribe_service_hook(repo, service_name, service_arguments = {})
16
- topic = "https://github.com/#{Repository.new(repo)}/events/push"
16
+ topic = "#{Octokit.web_endpoint}/#{Repository.new(repo)}/events/push"
17
17
  callback = "github://#{service_name}?#{service_arguments.collect{ |k,v| [ k,v ].join("=") }.join("&") }"
18
18
  subscribe(topic, callback)
19
19
  true
@@ -28,7 +28,7 @@ module Octokit
28
28
  # client = Octokit::Client.new(:oauth_token = "token")
29
29
  # client.unsubscribe_service_hook('joshk/device_imapable', 'Travis')
30
30
  def unsubscribe_service_hook(repo, service_name)
31
- topic = "https://github.com/#{Repository.new(repo)}/events/push"
31
+ topic = "#{Octokit.web_endpoint}/#{Repository.new(repo)}/events/push"
32
32
  callback = "github://#{service_name}"
33
33
  unsubscribe(topic, callback)
34
34
  true
@@ -6,6 +6,8 @@ module Octokit
6
6
  VALID_OPTIONS_KEYS = [
7
7
  :adapter,
8
8
  :api_version,
9
+ :api_endpoint,
10
+ :web_endpoint,
9
11
  :login,
10
12
  :password,
11
13
  :proxy,
@@ -16,6 +18,8 @@ module Octokit
16
18
 
17
19
  DEFAULT_ADAPTER = Faraday.default_adapter
18
20
  DEFAULT_API_VERSION = 3
21
+ DEFAULT_API_ENDPOINT = 'https://api.github.com'
22
+ DEFAULT_WEB_ENDPOINT = 'https://github.com'
19
23
  DEFAULT_USER_AGENT = "Octokit Ruby Gem #{Octokit::VERSION}".freeze
20
24
  DEFAULT_AUTO_TRAVERSAL = false
21
25
 
@@ -36,6 +40,8 @@ module Octokit
36
40
  def reset
37
41
  self.adapter = DEFAULT_ADAPTER
38
42
  self.api_version = DEFAULT_API_VERSION
43
+ self.api_endpoint = DEFAULT_API_ENDPOINT
44
+ self.web_endpoint = DEFAULT_WEB_ENDPOINT
39
45
  self.login = nil
40
46
  self.password = nil
41
47
  self.proxy = nil
@@ -8,10 +8,8 @@ module Octokit
8
8
 
9
9
  def connection(authenticate=true, raw=false, version=3, force_urlencoded=false)
10
10
  case version
11
- when 2
12
- url = "https://github.com"
13
11
  when 3
14
- url = "https://api.github.com"
12
+ url = Octokit.api_endpoint
15
13
  end
16
14
 
17
15
  options = {
@@ -22,6 +20,7 @@ module Octokit
22
20
 
23
21
  options.merge!(:params => {:access_token => oauth_token}) if oauthed? && !authenticated?
24
22
 
23
+ # TODO: Don't build on every request
25
24
  connection = Faraday.new(options) do |builder|
26
25
  if version >= 3 && !force_urlencoded
27
26
  builder.request :json
@@ -30,7 +30,7 @@ module Octokit
30
30
  end
31
31
 
32
32
  def url
33
- "https://github.com/#{slug}"
33
+ "#{Octokit.web_endpoint}/#{slug}"
34
34
  end
35
35
 
36
36
  alias :user :username
@@ -1,3 +1,3 @@
1
1
  module Octokit
2
- VERSION = "1.5.0" unless defined?(Octokit::VERSION)
2
+ VERSION = "1.6.0" unless defined?(Octokit::VERSION)
3
3
  end
@@ -62,4 +62,23 @@ describe Octokit::Client do
62
62
 
63
63
  end
64
64
 
65
+ describe "api_endpoint" do
66
+
67
+ after(:each) do
68
+ Octokit.reset
69
+ end
70
+
71
+ it "should default to https://api.github.com" do
72
+ client = Octokit::Client.new
73
+ client.api_endpoint.should == 'https://api.github.com'
74
+ end
75
+
76
+ it "should be set " do
77
+ Octokit.api_endpoint = 'http://foo.dev'
78
+ client = Octokit::Client.new
79
+ client.api_endpoint.should == 'http://foo.dev'
80
+ end
81
+ end
82
+
83
+
65
84
  end
@@ -41,6 +41,7 @@ describe Octokit::Repository do
41
41
  repository = Octokit::Repository.new(Octokit::Repository.new('sferik/octokit'))
42
42
  repository.name.should == "octokit"
43
43
  repository.username.should == "sferik"
44
+ repository.url.should == 'https://github.com/sferik/octokit'
44
45
  end
45
46
  end
46
47
 
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.5.0
4
+ version: 1.6.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,11 +11,11 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-06-14 00:00:00.000000000 Z
14
+ date: 2012-06-15 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: addressable
18
- requirement: &70202590806140 !ruby/object:Gem::Requirement
18
+ requirement: &70139666166520 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ~>
@@ -23,10 +23,10 @@ dependencies:
23
23
  version: '2.2'
24
24
  type: :runtime
25
25
  prerelease: false
26
- version_requirements: *70202590806140
26
+ version_requirements: *70139666166520
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: faraday
29
- requirement: &70202590804960 !ruby/object:Gem::Requirement
29
+ requirement: &70139666181720 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
32
  - - ~>
@@ -34,10 +34,10 @@ dependencies:
34
34
  version: '0.8'
35
35
  type: :runtime
36
36
  prerelease: false
37
- version_requirements: *70202590804960
37
+ version_requirements: *70139666181720
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: faraday_middleware
40
- requirement: &70202590804140 !ruby/object:Gem::Requirement
40
+ requirement: &70139666180560 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ~>
@@ -45,10 +45,10 @@ dependencies:
45
45
  version: '0.8'
46
46
  type: :runtime
47
47
  prerelease: false
48
- version_requirements: *70202590804140
48
+ version_requirements: *70139666180560
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: hashie
51
- requirement: &70202590803040 !ruby/object:Gem::Requirement
51
+ requirement: &70139666179420 !ruby/object:Gem::Requirement
52
52
  none: false
53
53
  requirements:
54
54
  - - ~>
@@ -56,10 +56,10 @@ dependencies:
56
56
  version: '1.2'
57
57
  type: :runtime
58
58
  prerelease: false
59
- version_requirements: *70202590803040
59
+ version_requirements: *70139666179420
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: multi_json
62
- requirement: &70202590801880 !ruby/object:Gem::Requirement
62
+ requirement: &70139666178360 !ruby/object:Gem::Requirement
63
63
  none: false
64
64
  requirements:
65
65
  - - ~>
@@ -67,10 +67,10 @@ dependencies:
67
67
  version: '1.3'
68
68
  type: :runtime
69
69
  prerelease: false
70
- version_requirements: *70202590801880
70
+ version_requirements: *70139666178360
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: json
73
- requirement: &70202590801280 !ruby/object:Gem::Requirement
73
+ requirement: &70139666177760 !ruby/object:Gem::Requirement
74
74
  none: false
75
75
  requirements:
76
76
  - - ! '>='
@@ -78,10 +78,10 @@ dependencies:
78
78
  version: '0'
79
79
  type: :development
80
80
  prerelease: false
81
- version_requirements: *70202590801280
81
+ version_requirements: *70139666177760
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: maruku
84
- requirement: &70202590800520 !ruby/object:Gem::Requirement
84
+ requirement: &70139666177020 !ruby/object:Gem::Requirement
85
85
  none: false
86
86
  requirements:
87
87
  - - ! '>='
@@ -89,10 +89,10 @@ dependencies:
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
- version_requirements: *70202590800520
92
+ version_requirements: *70139666177020
93
93
  - !ruby/object:Gem::Dependency
94
94
  name: rake
95
- requirement: &70202590799340 !ruby/object:Gem::Requirement
95
+ requirement: &70139666176160 !ruby/object:Gem::Requirement
96
96
  none: false
97
97
  requirements:
98
98
  - - ! '>='
@@ -100,10 +100,10 @@ dependencies:
100
100
  version: '0'
101
101
  type: :development
102
102
  prerelease: false
103
- version_requirements: *70202590799340
103
+ version_requirements: *70139666176160
104
104
  - !ruby/object:Gem::Dependency
105
105
  name: rspec
106
- requirement: &70202590798640 !ruby/object:Gem::Requirement
106
+ requirement: &70139666175160 !ruby/object:Gem::Requirement
107
107
  none: false
108
108
  requirements:
109
109
  - - ! '>='
@@ -111,10 +111,10 @@ dependencies:
111
111
  version: '0'
112
112
  type: :development
113
113
  prerelease: false
114
- version_requirements: *70202590798640
114
+ version_requirements: *70139666175160
115
115
  - !ruby/object:Gem::Dependency
116
116
  name: simplecov
117
- requirement: &70202590813800 !ruby/object:Gem::Requirement
117
+ requirement: &70139666190520 !ruby/object:Gem::Requirement
118
118
  none: false
119
119
  requirements:
120
120
  - - ! '>='
@@ -122,10 +122,10 @@ dependencies:
122
122
  version: '0'
123
123
  type: :development
124
124
  prerelease: false
125
- version_requirements: *70202590813800
125
+ version_requirements: *70139666190520
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: webmock
128
- requirement: &70202590812220 !ruby/object:Gem::Requirement
128
+ requirement: &70139666188600 !ruby/object:Gem::Requirement
129
129
  none: false
130
130
  requirements:
131
131
  - - ! '>='
@@ -133,10 +133,10 @@ dependencies:
133
133
  version: '0'
134
134
  type: :development
135
135
  prerelease: false
136
- version_requirements: *70202590812220
136
+ version_requirements: *70139666188600
137
137
  - !ruby/object:Gem::Dependency
138
138
  name: yard
139
- requirement: &70202590811620 !ruby/object:Gem::Requirement
139
+ requirement: &70139666187960 !ruby/object:Gem::Requirement
140
140
  none: false
141
141
  requirements:
142
142
  - - ! '>='
@@ -144,7 +144,7 @@ dependencies:
144
144
  version: '0'
145
145
  type: :development
146
146
  prerelease: false
147
- version_requirements: *70202590811620
147
+ version_requirements: *70139666187960
148
148
  description: Simple wrapper for the GitHub v3 API
149
149
  email:
150
150
  - wynn.netherland@gmail.com