dear_inventory 0.7.3 → 0.7.4

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