flexirest 1.8.9 → 1.9.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/lib/flexirest/json_api_proxy.rb +1 -1
- data/lib/flexirest/version.rb +1 -1
- data/spec/lib/json_api_spec.rb +23 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f402c30e90e85f106749a754d7783d2519da5b86cc0caf730799cac8a5f65c72
|
4
|
+
data.tar.gz: 29c6172196d8d09abbf37e2b40b0665d6b7d6498aa923b99c99e95683cf8c9c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 502bdb7fb81e058703485d37c32f01f584ebdbc5a4d9eb37badf492847a9e9070f1705c06aee048397b61c16335b175b0447ccf8b6bf663080d83d84d6b64e8b
|
7
|
+
data.tar.gz: 4a2317aac7ea5adfafe440efb5401a6da26cb1a7a8f58d4d236a5978e8c239cd540d5a45a7c9bebc39d15065d07b75ab6410b3c42a53a8e5af986a984431afa4
|
data/CHANGELOG.md
CHANGED
@@ -198,7 +198,7 @@ module Flexirest
|
|
198
198
|
|
199
199
|
# Retrieve the resource(s) object or array from the data object
|
200
200
|
records = body['data']
|
201
|
-
return
|
201
|
+
return body['errors'] unless records.present?
|
202
202
|
|
203
203
|
# Convert the resource object to an array,
|
204
204
|
# because it is easier to work with an array than a single object
|
data/lib/flexirest/version.rb
CHANGED
data/spec/lib/json_api_spec.rb
CHANGED
@@ -239,6 +239,8 @@ module JsonAPIExample
|
|
239
239
|
}
|
240
240
|
}
|
241
241
|
|
242
|
+
get(:real_find, '/articles/:id')
|
243
|
+
|
242
244
|
get(
|
243
245
|
:find_lazy,
|
244
246
|
'/articles/:id',
|
@@ -308,6 +310,27 @@ describe 'JSON API' do
|
|
308
310
|
it 'should return a Flexirest::ResultIterator if the response contains more than one data instance' do
|
309
311
|
expect(subject.find_all).to be_an_instance_of(Flexirest::ResultIterator)
|
310
312
|
end
|
313
|
+
|
314
|
+
it 'should raise an error when response has "errors" key and no "data"' do
|
315
|
+
body = {
|
316
|
+
errors: [
|
317
|
+
{
|
318
|
+
title: "Record not found",
|
319
|
+
detail: "The record identified by 123456 could not be found",
|
320
|
+
code: "not_found",
|
321
|
+
status: "404",
|
322
|
+
}
|
323
|
+
]
|
324
|
+
}
|
325
|
+
headers = { "Content-Type" => "application/vnd.api+json" }
|
326
|
+
expect_any_instance_of(Flexirest::Connection).
|
327
|
+
to receive(:get).with("/articles/123", an_instance_of(Hash)).
|
328
|
+
and_return(::FaradayResponseMock.new(OpenStruct.new(body: body.to_json, response_headers: headers, status: 404)))
|
329
|
+
|
330
|
+
expect(-> { JsonAPIExample::Article.real_find(123) }).to raise_error(Flexirest::HTTPNotFoundClientException) do |exception|
|
331
|
+
expect(exception.result.first.title).to eq("Record not found")
|
332
|
+
end
|
333
|
+
end
|
311
334
|
end
|
312
335
|
|
313
336
|
context 'attributes' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flexirest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.9.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Jeffries
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-02-
|
11
|
+
date: 2020-02-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|