simple_sdk_builder 1.0.1 → 1.0.2

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: a0504eb42a4bff931b2f7bb939ed43425ce66c5d
4
- data.tar.gz: aa8044452d9cac0c246d26bcf771b2d483307088
3
+ metadata.gz: 20f6b7c9b5bbde80d7ac611537e5ae9aa7053644
4
+ data.tar.gz: 9b449d52f9c692409c1e96bc4770fc81f00c6a2f
5
5
  SHA512:
6
- metadata.gz: c6b024a6a469f0f35747530b738b32c60b0da5e8e1eb713b647aff7437d619477bc21931afdf8568e2b79060db9af2632d4cc817a63a9a70d8842ac6712bf1e9
7
- data.tar.gz: e15c7a5c6e9f9642946197b43c1f3e4f634aa372c9ebc2b674e1b641dd07983fdabc498746a7fe38f7fb0e0a243a61b536002a6431fc24b99a3d08b64eac5cb8
6
+ metadata.gz: 88373f3abea40e9c3b3023272dee1b52ad94dcb2338cc4e77e255d2da615edf25d6584bfafd2cda688550ee7f16fb3e88d1d80c90850bd7f0c4073ecea2c2a6b
7
+ data.tar.gz: 29aa3e0a09b702763f8d52b0717a3ca01f8c278dee2d5fa904425b0a059e468f8836b74189153850eec7e1f90e534eda8c296cd406c342b749454d26a22e89b6
data/CHANGELOG.rdoc CHANGED
@@ -1,5 +1,8 @@
1
1
  = Simple SDK Builder
2
2
 
3
+ == Version 1.0.2
4
+ * Fixed error handling - allowing custom error handlers for connection/timeout errors and wildcard (*) errors to access the response instead of just an error string.
5
+
3
6
  == Version 1.0.1
4
7
  * Loosened activesupport version requirement
5
8
 
@@ -102,16 +102,14 @@ module Base
102
102
  return if response.code.to_s =~ /^2/
103
103
 
104
104
  error_handlers = config[:error_handlers] || {}
105
- error_handlers[nil] ||= StandardError
106
- error_handlers['*'] ||= StandardError
107
105
 
108
106
  if response.timed_out?
109
- raise error_handlers[nil], "timed out before receiving response"
107
+ raise_response_error(error_handlers[nil], response, 'timed out before receiving response')
110
108
  end
111
109
 
112
110
  # search for exact match
113
111
  error_handlers.each do |key, error|
114
- if key.is_a?(String) || key.is_a?(Symbol)
112
+ if key.is_a?(Integer) || key.is_a?(String) || key.is_a?(Symbol)
115
113
  if response.code.to_s == key.to_s
116
114
  raise error, response
117
115
  end
@@ -127,13 +125,27 @@ module Base
127
125
  end
128
126
  end
129
127
 
130
- raise error_handlers['*'], "an error occurred with the response; code: #{response.code}; body: #{response.body};"
128
+ raise_response_error(
129
+ error_handlers['*'],
130
+ response,
131
+ "an error occurred with the response; code: #{response.code}; body: #{response.body};"
132
+ )
131
133
  end
132
134
 
133
135
  def logger
134
136
  config[:logger]
135
137
  end
136
138
 
139
+ private
140
+
141
+ def raise_response_error(error_handler, response, default_message)
142
+ if error_handler
143
+ raise error_handler, response
144
+ else
145
+ raise StandardError, default_message
146
+ end
147
+ end
148
+
137
149
  end
138
150
 
139
151
  end
@@ -1,3 +1,3 @@
1
1
  module SimpleSDKBuilder
2
- VERSION = '1.0.1'
2
+ VERSION = '1.0.2'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_sdk_builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Dawson
@@ -121,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
121
  version: '0'
122
122
  requirements: []
123
123
  rubyforge_project:
124
- rubygems_version: 2.2.2
124
+ rubygems_version: 2.4.5
125
125
  signing_key:
126
126
  specification_version: 4
127
127
  summary: Makes building SDKs for RESTful JSON services easy.