hyperresource 0.9.2 → 0.9.3

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: 994caf9b693b5b6cdd77190ca301a035519e0040
4
- data.tar.gz: 855042518f9e6109dffacbfe577a9e3152845905
3
+ metadata.gz: 4229e58b266ed68da1b4ddef72db0573010e3745
4
+ data.tar.gz: a00f3bd10be628ef41c1aa7353eeb5992299c9b1
5
5
  SHA512:
6
- metadata.gz: 83ea2179593c0937e045eb3d231c2e685f1d4646748e4e5c2e238e607f4160964d0421e32a94ae8d4f6d55fc2bea4c12360cbe9fc61558695f312ff8bbed273e
7
- data.tar.gz: 2340305b98056439846fa5635a8865fd8317c7917f139fb5eeaae9c2b7776629d06c13f00874b0833e3285aedd7a26b05200a9e33c8aa3ad10eaac5d703bbf25
6
+ metadata.gz: 37ae186431974a6c78a492add4312c2237aef357be8bb10c7c389a9fc4e6ad9f9fa0ff9394859c03aa66fc3acbfd14cd6d1ea28eb3ecedc7323fd0a0f2353dec
7
+ data.tar.gz: d46f1f92cb8730399cbb50278b3ea3c5c97a7ec0b42a35a78e00f01b14f9e8c3f001c2da3254f055e4da843ba8e01c29be42fe089b2e18711845c083b2eca044
@@ -262,17 +262,18 @@ class HyperResource
262
262
  adapter = self.resource.adapter || HyperResource::Adapter::HAL_JSON
263
263
 
264
264
  body = nil
265
- begin
266
- if response.body
267
- body = adapter.deserialize(response.body)
268
- end
269
- rescue StandardError => e
270
- if is_success
271
- raise HyperResource::ResponseError.new(
272
- "Error when deserializing response body",
273
- :response => response,
274
- :cause => e
275
- )
265
+ unless empty_body?(response.body)
266
+ begin
267
+ body = adapter.deserialize(response.body)
268
+ rescue StandardError => e
269
+ if is_success
270
+ raise HyperResource::ResponseError.new(
271
+ "Error when deserializing response body",
272
+ :response => response,
273
+ :cause => e
274
+ )
275
+ end
276
+
276
277
  end
277
278
  end
278
279
 
@@ -301,6 +302,13 @@ class HyperResource
301
302
  end
302
303
  end
303
304
 
305
+ def empty_body?(body)
306
+ return true if body.nil?
307
+ return true if body.respond_to?(:empty?) && body.empty?
308
+ return true if body.class == String && body =~ /^['"]+$/ # special case for status code with optional body, example Grape API with status 405
309
+ false
310
+ end
311
+
304
312
  end
305
313
  end
306
314
  end
@@ -1,5 +1,5 @@
1
1
  class HyperResource
2
- VERSION = '0.9.2'
3
- VERSION_DATE = '2015-10-29'
2
+ VERSION = '0.9.3'
3
+ VERSION_DATE = '2015-11-02'
4
4
  end
5
5
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyperresource
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.9.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pete Gamache
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-29 00:00:00.000000000 Z
11
+ date: 2015-11-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: uri_template
@@ -168,7 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
168
  version: '0'
169
169
  requirements: []
170
170
  rubyforge_project:
171
- rubygems_version: 2.4.6
171
+ rubygems_version: 2.4.5.1
172
172
  signing_key:
173
173
  specification_version: 4
174
174
  summary: Extensible hypermedia client for Ruby