github-auth 3.0.2 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 997fb7cdb03c03be0562d687e2cb555b3dcb26f9
4
- data.tar.gz: f267ea59d3adeb1f950e7d07aefcd227b6de4efc
3
+ metadata.gz: 866015fe862fbab302717fd2a69a8c5814b295b9
4
+ data.tar.gz: 26553482cc60a5fcfa47c488f54cb32588eb180d
5
5
  SHA512:
6
- metadata.gz: 23e2dc72674a5e8e6167e55076463eee83c6ed8bc8fa1d30629184aa1448d10495d0fb32db31697343b1e13c0abf4248b901b1220069dc0547f4e2015f472126
7
- data.tar.gz: 30f1000f6cf4ed22a3f364dc060c4e936594f6068bf0aa0fa6cd5eff4cde25e91a6ea743cc0d28ba72a0e60f9f647e3c0a99f380d557aba49600abff24392ff3
6
+ metadata.gz: 329a7874a4f041f1e5a95c63d3cf268ce7da441a2fbc03d108c76a323bbc40414f291a5eed4cc1c2479351c2b60d28aac48d73b6d96a60f5e9820c21c1345f36
7
+ data.tar.gz: efa20d0e9eeeb1f50727476704d0d30ec944f84f4af7e2f5a38fb6fad6b412d36907c18a76937a8200fe78166285d385c3952392e40742b0243dc3db2bcdc2f6
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ##v3.1.0
4
+ *2014-03-04*
5
+
6
+ - [Use Faraday instead of HTTParty](https://github.com/chrishunt/github-auth/pull/31)
7
+ - [Update gems](https://github.com/chrishunt/github-auth/pull/32)
8
+
3
9
  ##v3.0.2
4
10
  *2014-01-19*
5
11
 
@@ -18,17 +18,17 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_development_dependency 'bundler', '~> 1.5'
21
+ spec.add_development_dependency 'bundler', '~> 1.5.3'
22
22
  spec.add_development_dependency 'cane', '~> 2.6.1'
23
23
  spec.add_development_dependency 'cane-hashcheck', '~> 1.2.0'
24
24
  spec.add_development_dependency 'coveralls', '~> 0.7.0'
25
- spec.add_development_dependency 'mute', '~> 1.0.0'
26
- spec.add_development_dependency 'pry', '~> 0.9.12.4'
25
+ spec.add_development_dependency 'mute', '~> 1.1.0'
26
+ spec.add_development_dependency 'pry', '~> 0.9.12.6'
27
27
  spec.add_development_dependency 'rake', '~> 10.1.1'
28
28
  spec.add_development_dependency 'rspec', '~> 2.14.1'
29
29
  spec.add_development_dependency 'sinatra', '~> 1.4.4'
30
- spec.add_development_dependency 'thin', '~> 1.6.1'
30
+ spec.add_development_dependency 'thin', '~> 1.6.2'
31
31
 
32
- spec.add_runtime_dependency 'httparty', '~> 0.12.0'
33
- spec.add_runtime_dependency 'thor', '~> 0.18.1'
32
+ spec.add_runtime_dependency 'faraday', '~> 0.9.0'
33
+ spec.add_runtime_dependency 'thor', '~> 0.18.1'
34
34
  end
@@ -1,5 +1,6 @@
1
1
  require 'cgi'
2
- require 'httparty'
2
+ require 'json'
3
+ require 'faraday'
3
4
 
4
5
  module Github::Auth
5
6
  # Client for fetching public SSH keys using the Github API
@@ -35,17 +36,18 @@ module Github::Auth
35
36
  private
36
37
 
37
38
  def github_response
38
- response = http_client.get(
39
+ response = http_client.get \
39
40
  "#{hostname}/users/#{username}/keys", headers: headers
40
- )
41
- raise GithubUserDoesNotExistError if response.code == 404
42
- response.parsed_response
43
- rescue SocketError, Errno::ECONNREFUSED => e
41
+
42
+ raise GithubUserDoesNotExistError if response.status == 404
43
+
44
+ JSON.parse response.body
45
+ rescue Faraday::Error => e
44
46
  raise GithubUnavailableError, e
45
47
  end
46
48
 
47
49
  def http_client
48
- HTTParty
50
+ Faraday
49
51
  end
50
52
 
51
53
  def headers
@@ -1,5 +1,5 @@
1
1
  module Github
2
2
  module Auth
3
- VERSION = "3.0.2"
3
+ VERSION = "3.1.0"
4
4
  end
5
5
  end
@@ -19,17 +19,13 @@ describe Github::Auth::CLI do
19
19
  end
20
20
 
21
21
  it 'adds and removes keys from the keys file' do
22
- Mute::IO.capture_stdout do
23
- cli %w(add --users=chrishunt)
24
- end
22
+ cli %w(add --users=chrishunt)
25
23
 
26
24
  keys_file.read.tap do |keys_file_content|
27
25
  keys.each { |key| expect(keys_file_content).to include key.to_s }
28
26
  end
29
27
 
30
- Mute::IO.capture_stdout do
31
- cli %w(remove --users=chrishunt)
32
- end
28
+ cli %w(remove --users=chrishunt)
33
29
 
34
30
  expect(keys_file.read).to be_empty
35
31
 
@@ -37,9 +33,7 @@ describe Github::Auth::CLI do
37
33
  end
38
34
 
39
35
  it 'lists users from the keys file' do
40
- Mute::IO.capture_stdout do
41
- cli %w(add --users=chrishunt)
42
- end
36
+ cli %w(add --users=chrishunt)
43
37
 
44
38
  output = Mute::IO.capture_stdout do
45
39
  cli %w(list)
@@ -49,17 +43,13 @@ describe Github::Auth::CLI do
49
43
  end
50
44
 
51
45
  it 'supports ssh commands' do
52
- Mute::IO.capture_stdout do
53
- cli %w(add --users=chrishunt) << '--command=tmux attach'
54
- end
46
+ cli %w(add --users=chrishunt) << '--command=tmux attach'
55
47
 
56
48
  expect(keys_file.read).to include 'command="tmux attach"'
57
49
 
58
50
  keys_file.rewind
59
51
 
60
- Mute::IO.capture_stdout do
61
- cli %w(remove --users=chrishunt)
62
- end
52
+ cli %w(remove --users=chrishunt)
63
53
 
64
54
  expect(keys_file.read.strip).to be_empty
65
55
  end
@@ -1,4 +1,6 @@
1
1
  require 'pry'
2
2
  require 'mute'
3
3
  require 'coveralls'
4
+
5
+ Mute::IO.capture_stdout
4
6
  Coveralls.wear!
@@ -1,4 +1,4 @@
1
- require 'httparty'
1
+ require 'faraday'
2
2
  require 'sinatra/base'
3
3
  require 'json'
4
4
 
@@ -34,9 +34,9 @@ def with_mock_github_server
34
34
 
35
35
  while true
36
36
  begin
37
- HTTParty.get(hostname)
37
+ Faraday.get hostname
38
38
  break
39
- rescue Errno::ECONNREFUSED
39
+ rescue Faraday::ConnectionFailed
40
40
  # Do nothing, try again
41
41
  end
42
42
  end
@@ -8,11 +8,11 @@ describe Github::Auth::KeysClient do
8
8
  let(:username) { 'chrishunt' }
9
9
  let(:http_client) { double('HttpClient', get: response) }
10
10
  let(:response_code) { 200 }
11
- let(:parsed_response) { nil }
11
+ let(:body) { [] }
12
12
  let(:response) {
13
- double('HTTParty::Response', {
14
- code: response_code,
15
- parsed_response: parsed_response
13
+ double('Faraday::Response', {
14
+ status: response_code,
15
+ body: JSON.generate(body)
16
16
  })
17
17
  }
18
18
 
@@ -55,13 +55,13 @@ describe Github::Auth::KeysClient do
55
55
  end
56
56
 
57
57
  context 'when the github user has keys' do
58
- let(:parsed_response) {[
58
+ let(:body) {[
59
59
  { 'id' => 123, 'key' => 'abc123' },
60
60
  { 'id' => 456, 'key' => 'def456' }
61
61
  ]}
62
62
 
63
63
  it 'returns the keys' do
64
- expected_keys = parsed_response.map do |entry|
64
+ expected_keys = body.map do |entry|
65
65
  Github::Auth::Key.new username, entry.fetch('key')
66
66
  end
67
67
 
@@ -70,7 +70,7 @@ describe Github::Auth::KeysClient do
70
70
  end
71
71
 
72
72
  context 'when the github user does not have keys' do
73
- let(:parsed_response) { [] }
73
+ let(:body) { [] }
74
74
 
75
75
  it 'returns an empty array' do
76
76
  expect(subject.keys).to eq []
@@ -88,14 +88,16 @@ describe Github::Auth::KeysClient do
88
88
  end
89
89
 
90
90
  context 'when there is an issue connecting to Github' do
91
- [SocketError, Errno::ECONNREFUSED].each do |exception|
92
- before { http_client.stub(:get).and_raise exception }
91
+ before do
92
+ http_client
93
+ .stub(:get)
94
+ .and_raise Faraday::Error::ConnectionFailed.new('Oops!')
95
+ end
93
96
 
94
- it 'raises a GithubUnavailableError' do
95
- expect {
96
- subject.keys
97
- }.to raise_error Github::Auth::KeysClient::GithubUnavailableError
98
- end
97
+ it 'raises a GithubUnavailableError' do
98
+ expect {
99
+ subject.keys
100
+ }.to raise_error Github::Auth::KeysClient::GithubUnavailableError
99
101
  end
100
102
  end
101
103
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: github-auth
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.2
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Hunt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-19 00:00:00.000000000 Z
11
+ date: 2014-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: '1.5'
19
+ version: 1.5.3
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
- version: '1.5'
26
+ version: 1.5.3
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: cane
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -72,28 +72,28 @@ dependencies:
72
72
  requirements:
73
73
  - - ~>
74
74
  - !ruby/object:Gem::Version
75
- version: 1.0.0
75
+ version: 1.1.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ~>
81
81
  - !ruby/object:Gem::Version
82
- version: 1.0.0
82
+ version: 1.1.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: pry
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ~>
88
88
  - !ruby/object:Gem::Version
89
- version: 0.9.12.4
89
+ version: 0.9.12.6
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ~>
95
95
  - !ruby/object:Gem::Version
96
- version: 0.9.12.4
96
+ version: 0.9.12.6
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rake
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -142,28 +142,28 @@ dependencies:
142
142
  requirements:
143
143
  - - ~>
144
144
  - !ruby/object:Gem::Version
145
- version: 1.6.1
145
+ version: 1.6.2
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - ~>
151
151
  - !ruby/object:Gem::Version
152
- version: 1.6.1
152
+ version: 1.6.2
153
153
  - !ruby/object:Gem::Dependency
154
- name: httparty
154
+ name: faraday
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - ~>
158
158
  - !ruby/object:Gem::Version
159
- version: 0.12.0
159
+ version: 0.9.0
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - ~>
165
165
  - !ruby/object:Gem::Version
166
- version: 0.12.0
166
+ version: 0.9.0
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: thor
169
169
  requirement: !ruby/object:Gem::Requirement