coach 2.2.2 → 2.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -1
- data/coach.gemspec +1 -1
- data/lib/coach/handler.rb +7 -2
- data/lib/coach/version.rb +1 -1
- data/spec/lib/coach/handler_spec.rb +2 -2
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: abbb55ace2b77bfa43bdac156e34fb30ccb37f3ace7ce76a7afb660f4fae754c
|
4
|
+
data.tar.gz: 1d730de41dfcb77e8d6b858f7fa4d0c7f48998e7bc8527d2e7ad2c0951f88b41
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 433ee2ebb1f528ce6e599b6dca9a3eb2ab2f4766860d7053b5c8f896d721a04df460f5b4f2073efd54823d101201ae87be36cb57932a2dd641ae0a7c1eb35e80
|
7
|
+
data.tar.gz: bca365dfbab5ef5f1724a214498e521e0a1d9d21fc10e79cb8ac88be247d20fe1ea0ade9d6927e914bd33a24065f3f4873ecf12109ea09969d8795413196de02
|
data/CHANGELOG.md
CHANGED
data/coach.gemspec
CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.add_dependency "activesupport", ">= 4.2"
|
24
24
|
spec.add_dependency "commander", "~> 4.5"
|
25
25
|
|
26
|
-
spec.add_development_dependency "gc_ruboconfig", "= 2.
|
26
|
+
spec.add_development_dependency "gc_ruboconfig", "= 2.12.0"
|
27
27
|
spec.add_development_dependency "pry", "~> 0.10"
|
28
28
|
spec.add_development_dependency "rspec", "~> 3.2"
|
29
29
|
spec.add_development_dependency "rspec-its", "~> 1.2"
|
data/lib/coach/handler.rb
CHANGED
@@ -5,7 +5,7 @@ require "active_support/core_ext/object/try"
|
|
5
5
|
|
6
6
|
module Coach
|
7
7
|
class Handler
|
8
|
-
STATUS_CODE_FOR_EXCEPTIONS =
|
8
|
+
STATUS_CODE_FOR_EXCEPTIONS = 0
|
9
9
|
|
10
10
|
def initialize(middleware, config = {})
|
11
11
|
@root_item = MiddlewareItem.new(middleware, config)
|
@@ -34,6 +34,8 @@ module Coach
|
|
34
34
|
instrument("finish_handler.coach", event) do
|
35
35
|
begin
|
36
36
|
response = chain.instrument.call
|
37
|
+
rescue StandardError => e
|
38
|
+
raise
|
37
39
|
ensure
|
38
40
|
# We want to populate the response and metadata fields after the middleware
|
39
41
|
# chain has completed so that the end of the instrumentation can see them. The
|
@@ -43,7 +45,10 @@ module Coach
|
|
43
45
|
# This way, the last finish_handler.coach event will have all the details.
|
44
46
|
status = response.try(:first) || STATUS_CODE_FOR_EXCEPTIONS
|
45
47
|
event.merge!(
|
46
|
-
response: {
|
48
|
+
response: {
|
49
|
+
status: status,
|
50
|
+
exception: e,
|
51
|
+
}.compact,
|
47
52
|
metadata: context.fetch(:_metadata, {}),
|
48
53
|
)
|
49
54
|
end
|
data/lib/coach/version.rb
CHANGED
@@ -85,10 +85,10 @@ describe Coach::Handler do
|
|
85
85
|
|
86
86
|
before { terminal_middleware.uses(middleware_a, callback: explosive_action) }
|
87
87
|
|
88
|
-
it "captures the error event with the metadata" do
|
88
|
+
it "captures the error event with the metadata and nil status" do
|
89
89
|
expect(coach_events).
|
90
90
|
to include(["finish_handler.coach", hash_including(
|
91
|
-
response: { status:
|
91
|
+
response: { status: 0, exception: instance_of(RuntimeError) },
|
92
92
|
metadata: { A: true },
|
93
93
|
)])
|
94
94
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: coach
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GoCardless
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-04-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionpack
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - '='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 2.
|
61
|
+
version: 2.12.0
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - '='
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 2.
|
68
|
+
version: 2.12.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: pry
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -185,7 +185,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
185
185
|
- !ruby/object:Gem::Version
|
186
186
|
version: '0'
|
187
187
|
requirements: []
|
188
|
-
rubygems_version: 3.
|
188
|
+
rubygems_version: 3.0.8
|
189
189
|
signing_key:
|
190
190
|
specification_version: 4
|
191
191
|
summary: Alternative controllers built with middleware
|