dear_inventory 1.1.1 → 1.2.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:
|
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
|