zaikio-client-helpers 0.5.0 → 0.6.0

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
  SHA256:
3
- metadata.gz: 3482f6dd1dfb10c58f9d4a72929cea46ef722268dae1f4141405f70d80be2ebf
4
- data.tar.gz: 1284fa32bdae318ba56b9cb3d582f9ebc38c79399f3bdde7718d32f3fa381418
3
+ metadata.gz: 4cf5ba26a5d902d8754f9f415013df733258fec880ef3957ea9c6f24b9ca4a7f
4
+ data.tar.gz: e6a0e15a3d85f1817a2ae1c6020d5d7b37a616f86b527f7d7e3410e6f8d9da34
5
5
  SHA512:
6
- metadata.gz: c96cb10871f254378f764b966a5f2929594ad7ab2c9ec9a5141ca59f127d97e79bb2f42f1503d0cc48f03934f536f3c2370a40e48aa00729dc8f1858d6d45032
7
- data.tar.gz: 0dbf79ca7bdfad2b1192f66bec9785123cedd3589288d2e4e185c00aa5cfa4647630129eb63eba9fe4320f4e6ee8fc09e911d4b2b335215d58040461a2f207a3
6
+ metadata.gz: c4f46bc71a87c569cc796f3c3174f431cd27f75514122c831b85a31db46068e5296cb345091ab7a88d0dd63bda4cd9d69b130472a6dbe1356f50dbe3a7017acd
7
+ data.tar.gz: 723a060aa1807cd9e78e272daaead50b6d556f7f209801067fbec01481416440fedf4711929b6660563e77335757c61a0d2b937d820d74175c425c0b62da9062
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## [0.6.0] - 2023-03-20
2
+
3
+ - Remove errors from data hash
4
+ - Do include base error if server responds with a 422 to see that an error happened
5
+
1
6
  ## [0.5.0] - 2023-03-17
2
7
 
3
8
  - Add new faraday middleware that automatically passes current `I18n.locale` to `Accept-Language` header
@@ -13,7 +13,7 @@ module Zaikio::Client::Helpers
13
13
  case env.status
14
14
  when 404 then raise Spyke::ResourceNotFound.new(nil, url: env.url)
15
15
  when 429 then raise Zaikio::RateLimitedError.new(nil, url: env.url)
16
- when (200..299), 422 then env.body = parse_body(env.body)
16
+ when (200..299), 422 then env.body = parse_body(env.body, status: env.status)
17
17
  else connection_error(env)
18
18
  end
19
19
  end
@@ -27,12 +27,14 @@ module Zaikio::Client::Helpers
27
27
  )
28
28
  end
29
29
 
30
- def parse_body(body)
30
+ def parse_body(body, status: 200)
31
31
  json = MultiJson.load(body, symbolize_keys: true)
32
+ errors = json.is_a?(Hash) ? json.delete(:errors) || {} : {}
33
+ errors = { base: ['unknown'] } if status == 422 && errors.empty?
32
34
  {
33
35
  data: json,
34
36
  metadata: {},
35
- errors: json.is_a?(Hash) ? json[:errors] : {}
37
+ errors: errors
36
38
  }
37
39
  rescue MultiJson::ParseError
38
40
  {
@@ -3,7 +3,7 @@
3
3
  module Zaikio
4
4
  module Client
5
5
  module Helpers
6
- VERSION = "0.5.0"
6
+ VERSION = "0.6.0"
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zaikio-client-helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zaikio GMBH
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-17 00:00:00.000000000 Z
11
+ date: 2023-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday