dtk-common-core 0.6.0 → 0.6.1

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: 761da1d3c760eee2118d0682cb863f96ae6d25d0
4
- data.tar.gz: 6c982e3b942de922d81da8c433b2bc4a5c547b1e
3
+ metadata.gz: 3776202f561b9478c7c420a1311f95b7153d6150
4
+ data.tar.gz: 8aa7787af06795ea77f783135e3ebad5fe374f65
5
5
  SHA512:
6
- metadata.gz: b26b22ed5b094f5f8d4681b64daff7c516f3b45bc551e08f12ee195490c8264fadcb0dd44d2f26c31ec6d415555cb38258b3d4a0448eca0563f541f7dec7aa3f
7
- data.tar.gz: d1914134f33715cba988e56aa107dfa8d04b17086729737f855bf0729b1404cc56960447df2c833d031795de30774a4d531de0ea096dd6b5967f6fe39e45995b
6
+ metadata.gz: 2cdc675d41a26e71ac9956f7f30a210d7bdddbb0f80bac945d7e90a1a9f16f67b4ce8c0f9570b8c861ec156f4fa08f6daccd82aaf28ce85c0faaba07063e0b20
7
+ data.tar.gz: a86b9cdccaeba598ab164bca4d9c51c6447d67962083c6f963558791b205ed61f9a39af0e06a7203119bcbb6d6275752f22c73322ff78c6b694529e5a5647896
@@ -1,3 +1,3 @@
1
1
  module DtkCommonCore
2
- VERSION = "0.6.0"
2
+ VERSION = "0.6.1"
3
3
  end
data/lib/response.rb CHANGED
@@ -183,12 +183,27 @@ module DTK
183
183
  end
184
184
  end
185
185
 
186
+ def safe_json_parse(string)
187
+ begin
188
+ JSON.parse(string)
189
+ rescue => e
190
+ nil
191
+ end
192
+ end
193
+
194
+ def errors_field(msg=nil)
195
+ [msg.nil? ? {} : {'message' => msg}]
196
+ end
197
+
186
198
  def error_handling(opts={},&block)
187
199
  begin
188
200
  block.call
189
- rescue ::RestClient::ResourceNotFound, RestClient::Request::Unauthorized, RestClient::BadRequest,::RestClient::InternalServerError => e
201
+ rescue ::RestClient::ResourceNotFound => e
202
+ Response.new(StatusField => StatusNotok, ErrorsField => errors_field('Resource not found'))
203
+ rescue RestClient::Request::Unauthorized, RestClient::BadRequest,::RestClient::InternalServerError => e
190
204
  # with latest set of changes we will consider this as special case since most of legacy code is expecting Response class
191
- Response.new(StatusField => StatusNotok, ErrorsField => JSON.parse(e.response)['errors'])
205
+ errors = (safe_json_parse(e.response)||{})['errors']||errors_field('Server Error')
206
+ Response.new(StatusField => StatusNotok, ErrorsField => errors)
192
207
  rescue ::RestClient::Forbidden => e
193
208
  return error_response({ErrorsSubFieldCode => RestClientErrors[e.class.to_s]||GenericError, ErrorsOriginalException => e},opts) unless e.inspect.to_s.include?("PG::Error")
194
209
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dtk-common-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rich PELAVIN
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-04 00:00:00.000000000 Z
11
+ date: 2014-10-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client