github-auth 3.0.2 → 3.1.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.
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