badgerkit 0.0.11 → 0.0.12
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/README.md +16 -12
- data/lib/badgerkit/client.rb +1 -1
- data/lib/badgerkit/error.rb +77 -0
- data/lib/badgerkit/version.rb +1 -1
- data/spec/badgerkit/client_spec.rb +1 -1
- metadata +3 -2
data/README.md
CHANGED
@@ -1,18 +1,18 @@
|
|
1
|
-
#
|
1
|
+
# badgerkit
|
2
2
|
|
3
3
|
[][gem]
|
4
|
-
[][travis]
|
5
|
+
[][coveralls]
|
6
|
+
[][codeclimate]
|
7
|
+
[][gemnasium]
|
8
8
|
|
9
9
|
[gem]: https://rubygems.org/gems/badgerkit
|
10
|
-
[travis]: http://travis-ci.org/
|
11
|
-
[coveralls]: https://coveralls.io/r/
|
12
|
-
[codeclimate]: https://codeclimate.com/github/
|
13
|
-
[gemnasium]: https://gemnasium.com/
|
10
|
+
[travis]: http://travis-ci.org/badgerhq/badgerkit.rb
|
11
|
+
[coveralls]: https://coveralls.io/r/badgerhq/badgerkit.rb
|
12
|
+
[codeclimate]: https://codeclimate.com/github/badgerhq/badgerkit.rb
|
13
|
+
[gemnasium]: https://gemnasium.com/badgerhq/badgerkit.rb
|
14
14
|
|
15
|
-
Simple api wrapper for submitting data to
|
15
|
+
Simple api wrapper for submitting data to https://badgerhq.com
|
16
16
|
|
17
17
|
## Installation
|
18
18
|
|
@@ -34,7 +34,7 @@ Without environment variables:
|
|
34
34
|
client = Badgerkit.new(
|
35
35
|
:access_token => '0dbce1478e94053d4282ccd4ace154c82a3475d5',
|
36
36
|
:source => 'github',
|
37
|
-
:repo => '
|
37
|
+
:repo => 'badgerhq/badgerkit.rb'
|
38
38
|
)
|
39
39
|
|
40
40
|
client.post('Documentation',
|
@@ -50,7 +50,7 @@ With the following environment variables:
|
|
50
50
|
```ruby
|
51
51
|
ENV['BADGER_ACCESS_TOKEN'] = '0dbce1478e94053d4282ccd4ace154c82a3475d5'
|
52
52
|
ENV['BADGER_SOURCE'] = 'github'
|
53
|
-
ENV['BADGER_REPO'] = '
|
53
|
+
ENV['BADGER_REPO'] = 'badgerhq/badgerkit.rb'
|
54
54
|
|
55
55
|
Badgerkit.post('Documentation',
|
56
56
|
:value => 80,
|
@@ -76,3 +76,7 @@ implementations:
|
|
76
76
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
77
77
|
4. Push to the branch (`git push origin my-new-feature`)
|
78
78
|
5. Create new Pull Request
|
79
|
+
|
80
|
+
---
|
81
|
+
|
82
|
+
<a href="https://badgerhq.com"><img src="https://d87fcfg6nirfp.cloudfront.net/logo-medium.png" height="40"></a>
|
data/lib/badgerkit/client.rb
CHANGED
@@ -0,0 +1,77 @@
|
|
1
|
+
module Badgerkit
|
2
|
+
# Custom error class for rescuing from all Badgerkit errors
|
3
|
+
class Error < StandardError
|
4
|
+
|
5
|
+
# Returns the appropriate Badgerkit::Error sublcass based
|
6
|
+
# on status and response message
|
7
|
+
#
|
8
|
+
# @param response [Hashie::Mash] response HTTP response
|
9
|
+
# @return [Badgerkit::Error]
|
10
|
+
#
|
11
|
+
def self.from_response(response)
|
12
|
+
status = response[:status].to_i
|
13
|
+
body = response[:body].to_s
|
14
|
+
headers = response[:response_headers]
|
15
|
+
|
16
|
+
if klass = case status
|
17
|
+
when 400 then Octokit::BadRequest
|
18
|
+
when 401 then error_for_401(headers)
|
19
|
+
when 403 then error_for_403(body)
|
20
|
+
when 404 then Octokit::NotFound
|
21
|
+
when 406 then Octokit::NotAcceptable
|
22
|
+
when 409 then Octokit::Conflict
|
23
|
+
when 415 then Octokit::UnsupportedMediaType
|
24
|
+
when 422 then Octokit::UnprocessableEntity
|
25
|
+
when 400..499 then Octokit::ClientError
|
26
|
+
when 500 then Octokit::InternalServerError
|
27
|
+
when 501 then Octokit::NotImplemented
|
28
|
+
when 502 then Octokit::BadGateway
|
29
|
+
when 503 then Octokit::ServiceUnavailable
|
30
|
+
when 500..599 then Octokit::ServerError
|
31
|
+
end
|
32
|
+
klass.new(response)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
end # Error
|
37
|
+
|
38
|
+
# Raised on errors in the 400-499 range
|
39
|
+
class ClientError < Error; end
|
40
|
+
|
41
|
+
# Raised when Badgerhq returns a 400 HTTP status code
|
42
|
+
class BadRequest < ClientError; end
|
43
|
+
|
44
|
+
# Raised when Badgerhq returns a 401 HTTP status code
|
45
|
+
class Unauthorized < ClientError; end
|
46
|
+
|
47
|
+
# Raised when Badgerhq returns a 403 HTTP status code
|
48
|
+
class Forbidden < ClientError; end
|
49
|
+
|
50
|
+
# Raised when Badgerhq returns a 404 HTTP status code
|
51
|
+
class NotFound < ClientError; end
|
52
|
+
|
53
|
+
# Raised when Badgerhq returns a 406 HTTP status code
|
54
|
+
class NotAcceptable < ClientError; end
|
55
|
+
|
56
|
+
# Raised when Badgerhq returns a 409 HTTP status code
|
57
|
+
class Conflict < ClientError; end
|
58
|
+
|
59
|
+
# Raised when Badgerhq returns a 422 HTTP status code
|
60
|
+
class UnprocessableEntity < ClientError; end
|
61
|
+
|
62
|
+
# Raised on errors in the 500-599 range
|
63
|
+
class ServerError < Error; end
|
64
|
+
|
65
|
+
# Raised when Badgerhq returns a 500 HTTP status code
|
66
|
+
class InternalServerError < ServerError; end
|
67
|
+
|
68
|
+
# Raised when Badgerhq returns a 502 HTTP status code
|
69
|
+
class BadGateway < ServerError; end
|
70
|
+
|
71
|
+
# Raised when Badgerhq returns a 503 HTTP status code
|
72
|
+
class ServiceUnavailable < ServerError; end
|
73
|
+
|
74
|
+
# Raised when a method requires an application client_id
|
75
|
+
# and secret but none is provided
|
76
|
+
class ApplicationCredentialsRequired < StandardError; end
|
77
|
+
end # Badgerkit
|
data/lib/badgerkit/version.rb
CHANGED
@@ -40,7 +40,7 @@ describe Badgerkit::Client do
|
|
40
40
|
)
|
41
41
|
|
42
42
|
HTTMultiParty.stub(:post).and_return(ResponseProxy.new)
|
43
|
-
HTTMultiParty.should_receive(:post).with("
|
43
|
+
HTTMultiParty.should_receive(:post).with("https://badgerhq.com/api/v1/github/saladdays/badgerkit.rb/Documentation",
|
44
44
|
:body => {
|
45
45
|
:value => {
|
46
46
|
:value => 90,
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: badgerkit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-05-
|
12
|
+
date: 2014-05-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -173,6 +173,7 @@ files:
|
|
173
173
|
- lib/badgerkit.rb
|
174
174
|
- lib/badgerkit/archive.rb
|
175
175
|
- lib/badgerkit/client.rb
|
176
|
+
- lib/badgerkit/error.rb
|
176
177
|
- lib/badgerkit/version.rb
|
177
178
|
- spec/badgerkit/archive_spec.rb
|
178
179
|
- spec/badgerkit/client_spec.rb
|