escobar 0.4.8 → 0.4.9

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: feca1cba2d0cd8d05817d469b299cd7f50c8561a
4
- data.tar.gz: c9c3375dc1486e1bdb5348c516422874a16191d2
3
+ metadata.gz: be87f6f6e3ec1daf5962ec67f64c6f7dfa9008fa
4
+ data.tar.gz: 8aaec2808c280aa2b1b6829efc93aaa8b1f95778
5
5
  SHA512:
6
- metadata.gz: 6a5e90e34f303fab92ea31ea15f5708cc25642f116c388de8a2e83d4254e94ad4b2563729ef147f90cac10f906c786b3ecbf12b85e7a2d6463838e7319dae8ce
7
- data.tar.gz: fb7209a69a29a7fd6c8a12cb0234a4ba328e94bf3e0b830c762ec125315ef3564777abb28dce5c5327b748c89b5ab8b1077f09b7f3b1c674c2a5f9f7a612a65c
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"
@@ -28,8 +28,18 @@ module Escobar
28
28
  error
29
29
  end
30
30
 
31
- def self.from_response(resp)
32
- error = new("Error from Heroku API")
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
@@ -146,7 +146,7 @@ module Escobar
146
146
  github_deployment_url,
147
147
  heroku_build.dashboard_build_output_url,
148
148
  "pending",
149
- "Build running.."
149
+ "Build running."
150
150
  )
151
151
  end
152
152
 
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Escobar
2
- VERSION = "0.4.8".freeze
2
+ VERSION = "0.4.9".freeze
3
3
  end
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.8
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-25 00:00:00.000000000 Z
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