dock-api 0.1.0 → 0.2.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 +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +2 -0
- data/lib/dock/api/endpoints/base.rb +33 -4
- data/lib/dock/api/endpoints/presentations.rb +2 -2
- data/lib/dock/api/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9ffa5a3079b9356617100eef3ac4fa3bd8db8a1ab8c9b3ef70aa3f3d7d4725f6
|
|
4
|
+
data.tar.gz: 145c477c979df419caac602e33a319a47b735f49a1a9630465471cada7aeb083
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8ce7bf83264987bba66e372fd147123df4b123753643d8197d305b5d7a411d00503279a81fadcc111603afff1ab29debae6cd779b340d9627e180e859290b38b
|
|
7
|
+
data.tar.gz: 71e7dd28066b9645cf97c993cd2230f0e27ef111f5b990890293f4559e37a3e24f614c73a474a4734bd71d90b5d6c7dd3a870446861567f0972444c434693281
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
|
@@ -103,6 +103,8 @@ Dock::Api::Verify.verify
|
|
|
103
103
|
|
|
104
104
|
### Documentations
|
|
105
105
|
|
|
106
|
+
Gem documentation: https://www.rubydoc.info/github/robinbortlik/dock-api/main
|
|
107
|
+
|
|
106
108
|
Official Dock API documentation: https://docs.api.dock.io/#the-dock-api
|
|
107
109
|
|
|
108
110
|
Swagger console: https://swagger.api.dock.io/
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
module Dock
|
|
4
4
|
module Api
|
|
5
|
+
class NotFound < StandardError; end
|
|
6
|
+
class BadRequest < StandardError; end
|
|
7
|
+
class RequestError < StandardError; end
|
|
8
|
+
class Unauthorized < StandardError; end
|
|
9
|
+
class MethodNotAllowed < StandardError; end
|
|
10
|
+
|
|
5
11
|
class Base
|
|
6
12
|
class << self
|
|
7
13
|
def connection
|
|
@@ -9,19 +15,42 @@ module Dock
|
|
|
9
15
|
end
|
|
10
16
|
|
|
11
17
|
def get(url)
|
|
12
|
-
|
|
18
|
+
handle_status do
|
|
19
|
+
connection.get(url)
|
|
20
|
+
end
|
|
13
21
|
end
|
|
14
22
|
|
|
15
23
|
def delete(url)
|
|
16
|
-
|
|
24
|
+
handle_status do
|
|
25
|
+
connection.delete(url)
|
|
26
|
+
end
|
|
17
27
|
end
|
|
18
28
|
|
|
19
29
|
def post(url, data)
|
|
20
|
-
|
|
30
|
+
handle_status do
|
|
31
|
+
connection.post(url, data)
|
|
32
|
+
end
|
|
21
33
|
end
|
|
22
34
|
|
|
23
35
|
def patch(url, data)
|
|
24
|
-
|
|
36
|
+
handle_status do
|
|
37
|
+
connection.patch(url, data)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
private
|
|
42
|
+
|
|
43
|
+
def handle_status
|
|
44
|
+
response = yield
|
|
45
|
+
case response.status
|
|
46
|
+
when 400 then raise(Dock::Api::BadRequest, response.body)
|
|
47
|
+
when 401 then raise(Dock::Api::Unauthorized, response.body)
|
|
48
|
+
when 404 then raise(Dock::Api::NotFound, response.body)
|
|
49
|
+
when 405 then raise(Dock::Api::MethodNotAllowed, response.body)
|
|
50
|
+
when 500 then raise(Dock::Api::RequestError, response.body)
|
|
51
|
+
else
|
|
52
|
+
response.body
|
|
53
|
+
end
|
|
25
54
|
end
|
|
26
55
|
end
|
|
27
56
|
end
|
data/lib/dock/api/version.rb
CHANGED