dear_inventory 1.1.1 → 1.2.0
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5d2cff2061b63178640316ee94c2d2f755e00f6840c9c95254eff1da695dfdfe
|
4
|
+
data.tar.gz: da3f9d8d7bae5cb2626e69c17a26ed4eec5c3684246a84857ecbfbc8c0ee1d05
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6b0c98e95c9674ed1f3179a6f95f955b9dfd27456fb708e703f01e421e6c6be18290a630e7be574a5d30befe92f7ac23af2090572b48aba6b7cd48b2e1bb11a8
|
7
|
+
data.tar.gz: b5602ee55a9dd359de1ddd8de3e5185ccf85283a53de760bfa78b60b3d6e5febbdd57a8dd4a8b048d76f3d8d10ca22de8620fe87066d8d6bda6403e5941a0d22
|
data/lib/dear_inventory.rb
CHANGED
@@ -88,6 +88,7 @@ require "dear_inventory/models/sales/invoice"
|
|
88
88
|
require "dear_inventory/models/sale"
|
89
89
|
require "dear_inventory/models/sales"
|
90
90
|
require "dear_inventory/models/request"
|
91
|
+
require "dear_inventory/models/test_request"
|
91
92
|
|
92
93
|
require "dear_inventory/validator"
|
93
94
|
require "dear_inventory/validators/boolean"
|
@@ -117,6 +118,7 @@ require "dear_inventory/resources/purchase"
|
|
117
118
|
require "dear_inventory/resources/sale"
|
118
119
|
|
119
120
|
require "dear_inventory/response"
|
121
|
+
require "dear_inventory/test_response"
|
120
122
|
|
121
123
|
require "dear_inventory/version"
|
122
124
|
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# typed: strict
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module DearInventory
|
5
|
+
module Models
|
6
|
+
class TestRequest < Request
|
7
|
+
extend T::Sig
|
8
|
+
|
9
|
+
sig { returns(Symbol) }
|
10
|
+
attr_reader :action
|
11
|
+
sig { returns(T.class_of(DearInventory::Model)) }
|
12
|
+
attr_reader :model
|
13
|
+
sig { returns(DearInventory::Parameters) }
|
14
|
+
attr_reader :params
|
15
|
+
sig { returns(String) }
|
16
|
+
attr_reader :uri
|
17
|
+
|
18
|
+
sig { params(parameters: T::Hash[Symbol, T.untyped]).void }
|
19
|
+
def initialize(parameters)
|
20
|
+
@action = T.let(parameters[:action], T.nilable(Symbol))
|
21
|
+
@model = T.let(
|
22
|
+
parameters[:model], T.nilable(T.class_of(DearInventory::Model))
|
23
|
+
)
|
24
|
+
@params = T.let(
|
25
|
+
parameters[:params], T.nilable(DearInventory::Parameters)
|
26
|
+
)
|
27
|
+
@uri = T.let(parameters[:uri], T.nilable(String))
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -136,7 +136,13 @@ module DearInventory
|
|
136
136
|
sig { returns(T.any(T::Hash[String, T.untyped], String)) }
|
137
137
|
def body
|
138
138
|
string_body = @response.body.to_s
|
139
|
-
JSON.parse(string_body)
|
139
|
+
parsed_body = JSON.parse(string_body)
|
140
|
+
|
141
|
+
if parsed_body.is_a?(Array)
|
142
|
+
parsed_body.first
|
143
|
+
else
|
144
|
+
parsed_body
|
145
|
+
end
|
140
146
|
rescue JSON::ParserError
|
141
147
|
string_body
|
142
148
|
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# typed: strict
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module DearInventory
|
5
|
+
class TestResponse < Response
|
6
|
+
extend T::Sig
|
7
|
+
extend DearInventory::IsASubclass
|
8
|
+
|
9
|
+
sig { returns(DearInventory::Models::Request) }
|
10
|
+
attr_reader :request
|
11
|
+
sig { returns(HTTP::Response) }
|
12
|
+
attr_reader :response
|
13
|
+
|
14
|
+
# rubocop:disable Metrics/AbcSize
|
15
|
+
sig do
|
16
|
+
params(
|
17
|
+
request: DearInventory::Models::TestRequest,
|
18
|
+
body: T.nilable(T::Hash[String, T.untyped]),
|
19
|
+
num_previous_records: Integer
|
20
|
+
).void
|
21
|
+
end
|
22
|
+
def initialize(request:, body:, num_previous_records: 0)
|
23
|
+
@request = T.let(request, DearInventory::Models::Request)
|
24
|
+
@num_previous_records = T.let(num_previous_records, Integer)
|
25
|
+
|
26
|
+
@fields = T.let(nil, T.nilable(T::Array[Symbol]))
|
27
|
+
@http_status = T.let(nil, T.nilable(Integer))
|
28
|
+
@load_full_record = T.let(nil, T.nilable(T::Boolean))
|
29
|
+
@num_records_paged = T.let(nil, T.nilable(Integer))
|
30
|
+
@uri = T.let(nil, T.nilable(String))
|
31
|
+
|
32
|
+
raise_error unless success?
|
33
|
+
|
34
|
+
@model = T.let(@request.model.new(body), DearInventory::Model)
|
35
|
+
assign_values
|
36
|
+
end
|
37
|
+
# rubocop:enable Metrics/AbcSize
|
38
|
+
|
39
|
+
sig { returns(Integer) }
|
40
|
+
def http_status
|
41
|
+
200
|
42
|
+
end
|
43
|
+
end
|
44
|
+
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: 1.
|
4
|
+
version: 1.2.0
|
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-
|
11
|
+
date: 2020-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: http
|
@@ -303,6 +303,7 @@ files:
|
|
303
303
|
- lib/dear_inventory/models/sales_results.rb
|
304
304
|
- lib/dear_inventory/models/shipping_address.rb
|
305
305
|
- lib/dear_inventory/models/supplier.rb
|
306
|
+
- lib/dear_inventory/models/test_request.rb
|
306
307
|
- lib/dear_inventory/models/transaction.rb
|
307
308
|
- lib/dear_inventory/parameters.rb
|
308
309
|
- lib/dear_inventory/parameters/advanced_purchase/show.rb
|
@@ -321,6 +322,7 @@ files:
|
|
321
322
|
- lib/dear_inventory/resources/purchase.rb
|
322
323
|
- lib/dear_inventory/resources/sale.rb
|
323
324
|
- lib/dear_inventory/response.rb
|
325
|
+
- lib/dear_inventory/test_response.rb
|
324
326
|
- lib/dear_inventory/validator.rb
|
325
327
|
- lib/dear_inventory/validators/boolean.rb
|
326
328
|
- lib/dear_inventory/validators/enum.rb
|