dear_inventory 0.7.3 → 0.7.4

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: b836e30fa6fbe2c458fed01eb9edfe50f8b361cdcc51a166c3724740c34e0633
4
- data.tar.gz: 486dcc3260c50dcc29c42ee6071972d0e1bd168351c567e600eba73c56c2645c
3
+ metadata.gz: 5895d4865f28593d657fa3f81db31ef6a5c603c17506bf1d9cf4d60d91a46e9a
4
+ data.tar.gz: 432a24c5782d4a443cff9cfe64e5a6bc36173c04217a955fc1fc7e15c64ff8b1
5
5
  SHA512:
6
- metadata.gz: 5a53b24bd828d657a9a2a41975c5d45222ff009f3416bd9ff827556c651888db6ae4653ec44f89e25d580967976108a511d96f162754d5ed71ffe2add18d2251
7
- data.tar.gz: 821b8bd17b454a3f5382251f74104670ae3b5b931575cce910e8e2fcf04533cef4aa56c88013c39390429e489ab41669169a1f1274349e23da2a70a284f072f7
6
+ metadata.gz: b2be69cf126868c39d7b4c25d1bdcf51b6300aad35448e16202ff7f51ac92122cf8dd0f13ca88508e21d5e3a0664646d6f13a9e6d81978793277b4a42b40c124
7
+ data.tar.gz: 19e17ae0e9c65277e13068a46b6440a8f67c53d37362605336d1f6c0041d721c1487ff69971aa4ee4e888056a5a6172619402bc513fee48d5906d4ffae482566
@@ -9,9 +9,11 @@ require "dear_inventory/environment"
9
9
 
10
10
  require "dear_inventory/error"
11
11
  require "dear_inventory/errors/not_paginated"
12
- require "dear_inventory/errors/request"
13
12
  require "dear_inventory/errors/validation"
14
13
 
14
+ require "dear_inventory/errors/request"
15
+ require "dear_inventory/errors/bad_request"
16
+
15
17
  require "dear_inventory/lib/endpoint_class"
16
18
  require "dear_inventory/lib/date_time"
17
19
  require "dear_inventory/lib/is_a_subclass"
@@ -0,0 +1,6 @@
1
+ # typed: strict
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ class BadRequestError < RequestError; end
6
+ end
@@ -5,6 +5,9 @@ module DearInventory
5
5
  class RequestError < Error
6
6
  extend T::Sig
7
7
 
8
+ sig { returns(T.nilable(DearInventory::Response)) }
9
+ attr_reader :response
10
+
8
11
  sig do
9
12
  params(
10
13
  message: T.nilable(String),
@@ -16,25 +19,5 @@ module DearInventory
16
19
 
17
20
  @response = T.let(response, T.nilable(DearInventory::Response))
18
21
  end
19
-
20
- sig { returns(T.nilable(String)) }
21
- def http_body
22
- @response&.error || @response&.body&.to_s
23
- end
24
-
25
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
26
- def http_headers
27
- @response&.headers
28
- end
29
-
30
- sig { returns(T.nilable(Integer)) }
31
- def http_status
32
- @response&.http_status
33
- end
34
-
35
- sig { returns(T.nilable(String)) }
36
- def uri
37
- @response&.uri&.to_s
38
- end
39
22
  end
40
23
  end
@@ -30,8 +30,9 @@ module DearInventory
30
30
 
31
31
  sig { returns(T.nilable(String)) }
32
32
  def error
33
- # body.fetch("message", nil) if body.respond_to?(:fetch)
34
- "Error goes here"
33
+ return body.fetch("Exception", nil) if body.respond_to?(:fetch)
34
+
35
+ body
35
36
  end
36
37
 
37
38
  sig { returns(T::Hash[Symbol, String]) }
@@ -86,6 +87,10 @@ module DearInventory
86
87
 
87
88
  sig { returns(DearInventory::Error) }
88
89
  def raise_error
90
+ if http_status == 400
91
+ raise T.unsafe(DearInventory::BadRequestError).new(error, self)
92
+ end
93
+
89
94
  raise T.unsafe(DearInventory::Error).
90
95
  new("Unknown error (#{http_status}): #{error}")
91
96
  end
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module DearInventory
5
- VERSION = "0.7.3"
5
+ VERSION = "0.7.4"
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dear_inventory
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.3
4
+ version: 0.7.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Rice
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-03-27 00:00:00.000000000 Z
11
+ date: 2020-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http
@@ -222,6 +222,7 @@ files:
222
222
  - lib/dear_inventory/config.rb
223
223
  - lib/dear_inventory/environment.rb
224
224
  - lib/dear_inventory/error.rb
225
+ - lib/dear_inventory/errors/bad_request.rb
225
226
  - lib/dear_inventory/errors/not_paginated.rb
226
227
  - lib/dear_inventory/errors/request.rb
227
228
  - lib/dear_inventory/errors/validation.rb