simple_sdk_builder 1.0.1 → 1.0.2

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 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.