dtk-common-core 0.6.0 → 0.6.1

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