escobar 0.4.8 → 0.4.9
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/lib/escobar.rb +1 -0
- data/lib/escobar/client.rb +12 -2
- data/lib/escobar/github/client.rb +5 -1
- data/lib/escobar/github/response/raise_error.rb +19 -0
- data/lib/escobar/heroku/build_request.rb +1 -1
- data/lib/escobar/heroku/dynos.rb +6 -0
- data/lib/escobar/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: be87f6f6e3ec1daf5962ec67f64c6f7dfa9008fa
|
4
|
+
data.tar.gz: 8aaec2808c280aa2b1b6829efc93aaa8b1f95778
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 729e76c8511df2a846f426e3c5259690ea8176b8b4c635e46bd6b2d80896baaed97d858a07d20bd78cf953b5d11cd8ce6a9b78d4b9a4a12ee1d334382cd74568
|
7
|
+
data.tar.gz: 48c521884a40c8a85f0604d2ac24f3ae197f52dcb80660fbc2bee81f3bdd1b4ba9323b148deb8d386c71e2bc156c2079b4163044033b80a1423134e4bed50f44
|
data/lib/escobar.rb
CHANGED
@@ -59,6 +59,7 @@ module Escobar
|
|
59
59
|
end
|
60
60
|
|
61
61
|
require_relative "./escobar/client"
|
62
|
+
require_relative "./escobar/github/response/raise_error"
|
62
63
|
require_relative "./escobar/github/client"
|
63
64
|
require_relative "./escobar/github/deployment_error"
|
64
65
|
require_relative "./escobar/heroku/app"
|
data/lib/escobar/client.rb
CHANGED
@@ -28,8 +28,18 @@ module Escobar
|
|
28
28
|
error
|
29
29
|
end
|
30
30
|
|
31
|
-
def self.
|
32
|
-
error = new(
|
31
|
+
def self.from_response_env(resp, message = "Error from Heroku API")
|
32
|
+
error = new(message)
|
33
|
+
|
34
|
+
error.body = resp.body
|
35
|
+
error.headers = resp.response_headers
|
36
|
+
error.status = resp.status
|
37
|
+
|
38
|
+
error
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.from_response(resp, message = "Error from Heroku API")
|
42
|
+
error = new(message)
|
33
43
|
|
34
44
|
error.body = resp.body
|
35
45
|
error.headers = resp.headers
|
@@ -133,12 +133,16 @@ module Escobar
|
|
133
133
|
Faraday.new(url: "https://api.github.com") do |c|
|
134
134
|
c.use :instrumentation
|
135
135
|
c.use ZipkinTracer::FaradayHandler, "api.github.com"
|
136
|
+
c.use Escobar::GitHub::Response::RaiseError
|
136
137
|
c.adapter Faraday.default_adapter
|
137
138
|
end
|
138
139
|
end
|
139
140
|
|
140
141
|
def default_client
|
141
|
-
Faraday.new(url: "https://api.github.com")
|
142
|
+
Faraday.new(url: "https://api.github.com") do |c|
|
143
|
+
c.use Escobar::GitHub::Response::RaiseError
|
144
|
+
c.adapter Faraday.default_adapter
|
145
|
+
end
|
142
146
|
end
|
143
147
|
end
|
144
148
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Escobar
|
2
|
+
module GitHub
|
3
|
+
module Response
|
4
|
+
# Faraday response middleware to handle API errors
|
5
|
+
# This will translate status to Escobar::Client::Errors
|
6
|
+
class RaiseError < ::Faraday::Response::Middleware
|
7
|
+
private
|
8
|
+
|
9
|
+
def on_complete(response)
|
10
|
+
case response.status
|
11
|
+
when 401
|
12
|
+
raise Escobar::Client::Error::Unauthorized
|
13
|
+
.from_response_env(response, "GitHub Unauthorized")
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/escobar/heroku/dynos.rb
CHANGED
@@ -29,6 +29,12 @@ module Escobar
|
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
32
|
+
def running_at_least?(version)
|
33
|
+
non_one_off.all? do |dyno|
|
34
|
+
dyno["release"]["version"] >= version && dyno["state"] == "up"
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
32
38
|
def newer_than?(epoch)
|
33
39
|
non_one_off.all? do |dyno|
|
34
40
|
epoch < Time.parse(dyno["created_at"]).utc
|
data/lib/escobar/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: escobar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Corey Donohoe
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-04
|
11
|
+
date: 2017-05-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -191,6 +191,7 @@ files:
|
|
191
191
|
- lib/escobar/client.rb
|
192
192
|
- lib/escobar/github/client.rb
|
193
193
|
- lib/escobar/github/deployment_error.rb
|
194
|
+
- lib/escobar/github/response/raise_error.rb
|
194
195
|
- lib/escobar/heroku/app.rb
|
195
196
|
- lib/escobar/heroku/build.rb
|
196
197
|
- lib/escobar/heroku/build_request.rb
|