File tree Expand file tree Collapse file tree 3 files changed +12
-10
lines changed Expand file tree Collapse file tree 3 files changed +12
-10
lines changed Original file line number Diff line number Diff line change @@ -2,7 +2,8 @@ module JsonApiClient
22 module Errors
33 class ApiError < StandardError
44 attr_reader :env
5- def initialize ( env )
5+ def initialize ( env , msg = nil )
6+ super msg
67 @env = env
78 end
89 end
@@ -20,14 +21,14 @@ class ConnectionError < ApiError
2021 end
2122
2223 class ServerError < ApiError
23- def message
24- "Internal server error"
24+ def initialize ( env , msg = 'Internal server error' )
25+ super env , msg
2526 end
2627 end
2728
2829 class Conflict < ServerError
29- def message
30- "Resource already exists"
30+ def initialize ( env , msg = 'Resource already exists' )
31+ super env , msg
3132 end
3233 end
3334
@@ -51,6 +52,5 @@ def message
5152 "Unexpected response status: #{ code } from: #{ uri . to_s } "
5253 end
5354 end
54-
5555 end
5656end
Original file line number Diff line number Diff line change @@ -11,8 +11,8 @@ def call(environment)
1111 handle_status ( code , env )
1212 end
1313 end
14- rescue Faraday ::ConnectionFailed , Faraday ::TimeoutError
15- raise Errors ::ConnectionError , environment
14+ rescue Faraday ::ConnectionFailed , Faraday ::TimeoutError => e
15+ raise Errors ::ConnectionError . new environment , e . to_s
1616 end
1717
1818 protected
Original file line number Diff line number Diff line change @@ -4,11 +4,13 @@ class ErrorsTest < MiniTest::Test
44
55 def test_connection_errors
66 stub_request ( :get , "http://example.com/users" )
7- . to_raise ( Faraday ::ConnectionFailed )
7+ . to_raise ( Faraday ::ConnectionFailed . new ( "specific message" ) )
88
9- assert_raises JsonApiClient ::Errors ::ConnectionError do
9+ err = assert_raises JsonApiClient ::Errors ::ConnectionError do
1010 User . all
1111 end
12+
13+ assert_match /specific message/ , err . message
1214 end
1315
1416 def test_timeout_errors
You can’t perform that action at this time.
0 commit comments