dear_inventory 1.0.0 → 1.1.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 +4 -4
- data/.gitignore +1 -0
- data/README.md +6 -5
- data/docs/resources/product_availability.md +33 -0
- data/lib/dear_inventory/model.rb +1 -0
- data/lib/dear_inventory/models/customers.rb +1 -1
- data/lib/dear_inventory/models/product_availability.rb +61 -0
- data/lib/dear_inventory/models/product_availability_results.rb +26 -0
- data/lib/dear_inventory/parameters/product_availability/index.rb +55 -0
- data/lib/dear_inventory/resources/advanced_purchase.rb +1 -1
- data/lib/dear_inventory/resources/product_availability.rb +35 -0
- data/lib/dear_inventory/validators/required.rb +11 -1
- data/lib/dear_inventory/version.rb +1 -1
- data/lib/dear_inventory.rb +4 -0
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8a10f4b371f702e3d3f39802e81dfd26b15488bef5b0dc46cf3e545091337ac7
|
4
|
+
data.tar.gz: efeea74d5c331483b7da7d0981d7fd70c18520e2a9e436ee9d8dec33e4f1582c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6589864faab4bd89da10f91bb0350201d1c0fa422e14640c63bbaddadb733c3ae3bbbaa0dfe0b09424271fa3a4c057d5fc50c64d9125d804160b971854c4ec75
|
7
|
+
data.tar.gz: b8b68f8e77e14472f7e45998d2ed0f05c9cb197b17864bdba649b849c101c11eab56741cb34875b3f24aab7b779981a0c78a2a979ef271ed224876d6ce1ec4a2
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -55,11 +55,12 @@ end
|
|
55
55
|
|
56
56
|
## Endpoints
|
57
57
|
|
58
|
-
[Customer](https://github.com/HashNotAdam/dear_inventory-ruby/docs/resources/customer.md)
|
59
|
-
[Product](https://github.com/HashNotAdam/dear_inventory-ruby/docs/resources/product.md)
|
60
|
-
[
|
61
|
-
[
|
62
|
-
[
|
58
|
+
- [Customer](https://github.com/HashNotAdam/dear_inventory-ruby/blob/master/docs/resources/customer.md)
|
59
|
+
- [Product](https://github.com/HashNotAdam/dear_inventory-ruby/blob/master/docs/resources/product.md)
|
60
|
+
- [Product Availability](https://github.com/HashNotAdam/dear_inventory-ruby/blob/master/docs/resources/product_availability.md)
|
61
|
+
- [Purchase](https://github.com/HashNotAdam/dear_inventory-ruby/blob/master/docs/resources/purchase.md)
|
62
|
+
- [Advanced Purchase](https://github.com/HashNotAdam/dear_inventory-ruby/blob/master/docs/resources/advanced_purchase.md)
|
63
|
+
- [Sale](https://github.com/HashNotAdam/dear_inventory-ruby/blob/master/docs/resources/sale.md)
|
63
64
|
|
64
65
|
## Managing pagination
|
65
66
|
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# Product resource
|
2
|
+
|
3
|
+
## GET
|
4
|
+
|
5
|
+
```ruby
|
6
|
+
DearInventory::ProductAvailability.index
|
7
|
+
DearInventory::ProductAvailability.()
|
8
|
+
```
|
9
|
+
|
10
|
+
### Parameters
|
11
|
+
| Name | Type | Required |
|
12
|
+
| --- | --- | --- |
|
13
|
+
| id | String | false |
|
14
|
+
| page | Integer | false |
|
15
|
+
| limit | Integer | false |
|
16
|
+
| name | String | false |
|
17
|
+
| sku | String | false |
|
18
|
+
| location | String | false |
|
19
|
+
| batch | String | false |
|
20
|
+
| category | String | false |
|
21
|
+
|
22
|
+
### Response
|
23
|
+
|
24
|
+
The index endpoint returns a paginated set of records.
|
25
|
+
|
26
|
+
To see what data is available in the response, you can call the `field` method:
|
27
|
+
|
28
|
+
```ruby
|
29
|
+
response = DearInventory::ProductAvailability.()
|
30
|
+
response.fields # [:records, :total, :page, :product_availabilities]
|
31
|
+
records = response.records
|
32
|
+
```
|
33
|
+
|
data/lib/dear_inventory/model.rb
CHANGED
@@ -0,0 +1,61 @@
|
|
1
|
+
# typed: strong
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module DearInventory
|
5
|
+
module Models
|
6
|
+
class ProductAvailability < DearInventory::Model
|
7
|
+
extend T::Sig
|
8
|
+
|
9
|
+
fields(
|
10
|
+
ID: {
|
11
|
+
name: :product_id,
|
12
|
+
type: :Guid,
|
13
|
+
},
|
14
|
+
SKU: {
|
15
|
+
name: :sku,
|
16
|
+
type: :String,
|
17
|
+
},
|
18
|
+
Name: {
|
19
|
+
name: :name,
|
20
|
+
type: :String,
|
21
|
+
},
|
22
|
+
Barcode: {
|
23
|
+
name: :barcode,
|
24
|
+
type: :String,
|
25
|
+
},
|
26
|
+
Location: {
|
27
|
+
name: :location,
|
28
|
+
type: :String,
|
29
|
+
},
|
30
|
+
Bin: {
|
31
|
+
name: :bin,
|
32
|
+
type: :String,
|
33
|
+
},
|
34
|
+
ExpiryDate: {
|
35
|
+
name: :expiry_date,
|
36
|
+
type: :DateTime,
|
37
|
+
},
|
38
|
+
OnHand: {
|
39
|
+
name: :on_hand,
|
40
|
+
type: :Float,
|
41
|
+
},
|
42
|
+
Allocated: {
|
43
|
+
name: :allocated,
|
44
|
+
type: :Float,
|
45
|
+
},
|
46
|
+
Available: {
|
47
|
+
name: :available,
|
48
|
+
type: :Float,
|
49
|
+
},
|
50
|
+
OnOrder: {
|
51
|
+
name: :on_order,
|
52
|
+
type: :Float,
|
53
|
+
},
|
54
|
+
StockOnHand: {
|
55
|
+
name: :stock_on_hand,
|
56
|
+
type: :Float,
|
57
|
+
}
|
58
|
+
)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# typed: strong
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module DearInventory
|
5
|
+
module Models
|
6
|
+
class ProductAvailabilityResults < DearInventory::Model
|
7
|
+
extend T::Sig
|
8
|
+
|
9
|
+
fields(
|
10
|
+
Total: {
|
11
|
+
name: :total,
|
12
|
+
type: :Integer,
|
13
|
+
},
|
14
|
+
Page: {
|
15
|
+
name: :page,
|
16
|
+
type: :Integer,
|
17
|
+
},
|
18
|
+
ProductAvailabilityList: {
|
19
|
+
name: :product_availabilities,
|
20
|
+
type: :ResultSet,
|
21
|
+
model: DearInventory::Models::ProductAvailability,
|
22
|
+
}
|
23
|
+
)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# typed: strict
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module DearInventory
|
5
|
+
class Parameters
|
6
|
+
module ProductAvailability
|
7
|
+
class Index < DearInventory::Parameters
|
8
|
+
extend T::Sig
|
9
|
+
|
10
|
+
fields(
|
11
|
+
id: {
|
12
|
+
property: :ID,
|
13
|
+
type: :String,
|
14
|
+
required: false,
|
15
|
+
},
|
16
|
+
page: {
|
17
|
+
property: :Page,
|
18
|
+
type: :Integer,
|
19
|
+
required: false,
|
20
|
+
},
|
21
|
+
limit: {
|
22
|
+
property: :Limit,
|
23
|
+
type: :Integer,
|
24
|
+
required: false,
|
25
|
+
},
|
26
|
+
name: {
|
27
|
+
property: :Name,
|
28
|
+
type: :String,
|
29
|
+
required: false,
|
30
|
+
},
|
31
|
+
sku: {
|
32
|
+
property: :Sku,
|
33
|
+
type: :String,
|
34
|
+
required: false,
|
35
|
+
},
|
36
|
+
location: {
|
37
|
+
property: :Location,
|
38
|
+
type: :String,
|
39
|
+
required: false,
|
40
|
+
},
|
41
|
+
batch: {
|
42
|
+
property: :Batch,
|
43
|
+
type: :String,
|
44
|
+
required: false,
|
45
|
+
},
|
46
|
+
category: {
|
47
|
+
property: :Category,
|
48
|
+
type: :String,
|
49
|
+
required: false,
|
50
|
+
}
|
51
|
+
)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -9,7 +9,7 @@ module DearInventory
|
|
9
9
|
# Advanced Purchase
|
10
10
|
#
|
11
11
|
# @param params [Hash] URL query string parameters that conform to
|
12
|
-
# DearInventory::Parameters::
|
12
|
+
# DearInventory::Parameters::AdvancedPurchase::Show
|
13
13
|
sig do
|
14
14
|
params(params: T::Hash[Symbol, T.untyped]).
|
15
15
|
returns(DearInventory::Response)
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# typed: strict
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module DearInventory
|
5
|
+
class ProductAvailability < Resource
|
6
|
+
class << self
|
7
|
+
extend T::Sig
|
8
|
+
|
9
|
+
# ProductAvailability
|
10
|
+
#
|
11
|
+
# @param params [Hash] URL query string parameters that conform to
|
12
|
+
# DearInventory::Parameters::ProductAvailability::Index
|
13
|
+
sig do
|
14
|
+
params(params: T::Hash[Symbol, T.untyped]).
|
15
|
+
returns(DearInventory::Response)
|
16
|
+
end
|
17
|
+
def index(params = {})
|
18
|
+
new.request(
|
19
|
+
:get,
|
20
|
+
params: params,
|
21
|
+
model: DearInventory::Models::ProductAvailabilityResults
|
22
|
+
)
|
23
|
+
end
|
24
|
+
|
25
|
+
alias call index
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
sig { params(_endpoint: T.nilable(String)).returns(String) }
|
31
|
+
def resource_uri(_endpoint)
|
32
|
+
self.class.const_get(:URI_BASE) + "/ref/productavailability"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -8,10 +8,20 @@ module DearInventory
|
|
8
8
|
|
9
9
|
sig { override.void }
|
10
10
|
def call
|
11
|
-
return if instance_variable_get(:@value)
|
11
|
+
return if present?(instance_variable_get(:@value))
|
12
12
|
|
13
13
|
raise_error("the field is required but no value was provided")
|
14
14
|
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def present?(value)
|
19
|
+
!blank?(value)
|
20
|
+
end
|
21
|
+
|
22
|
+
def blank?(value)
|
23
|
+
value&.empty? || !value
|
24
|
+
end
|
15
25
|
end
|
16
26
|
end
|
17
27
|
end
|
data/lib/dear_inventory.rb
CHANGED
@@ -31,6 +31,8 @@ require "dear_inventory/models/bill_of_materials_service"
|
|
31
31
|
require "dear_inventory/models/customers/address"
|
32
32
|
require "dear_inventory/models/customers/contact"
|
33
33
|
require "dear_inventory/models/inventory_movement"
|
34
|
+
require "dear_inventory/models/product_availability"
|
35
|
+
require "dear_inventory/models/product_availability_results"
|
34
36
|
require "dear_inventory/models/products/movement"
|
35
37
|
require "dear_inventory/models/purchases"
|
36
38
|
require "dear_inventory/models/purchases_results"
|
@@ -100,6 +102,7 @@ require "dear_inventory/parameters"
|
|
100
102
|
require "dear_inventory/parameters/advanced_purchase/show"
|
101
103
|
require "dear_inventory/parameters/customer/index"
|
102
104
|
require "dear_inventory/parameters/product/index"
|
105
|
+
require "dear_inventory/parameters/product_availability/index"
|
103
106
|
require "dear_inventory/parameters/purchase/index"
|
104
107
|
require "dear_inventory/parameters/purchase/show"
|
105
108
|
require "dear_inventory/parameters/sale/index"
|
@@ -109,6 +112,7 @@ require "dear_inventory/resource"
|
|
109
112
|
require "dear_inventory/resources/advanced_purchase"
|
110
113
|
require "dear_inventory/resources/customer"
|
111
114
|
require "dear_inventory/resources/product"
|
115
|
+
require "dear_inventory/resources/product_availability"
|
112
116
|
require "dear_inventory/resources/purchase"
|
113
117
|
require "dear_inventory/resources/sale"
|
114
118
|
|
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.1.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-04-
|
11
|
+
date: 2020-04-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: http
|
@@ -221,6 +221,7 @@ files:
|
|
221
221
|
- docs/resources/advanced_purchase.md
|
222
222
|
- docs/resources/customer.md
|
223
223
|
- docs/resources/product.md
|
224
|
+
- docs/resources/product_availability.md
|
224
225
|
- docs/resources/purchase.md
|
225
226
|
- docs/resources/sale.md
|
226
227
|
- lib/dear_inventory.rb
|
@@ -251,6 +252,8 @@ files:
|
|
251
252
|
- lib/dear_inventory/models/customers/contact.rb
|
252
253
|
- lib/dear_inventory/models/inventory_movement.rb
|
253
254
|
- lib/dear_inventory/models/product.rb
|
255
|
+
- lib/dear_inventory/models/product_availability.rb
|
256
|
+
- lib/dear_inventory/models/product_availability_results.rb
|
254
257
|
- lib/dear_inventory/models/products.rb
|
255
258
|
- lib/dear_inventory/models/products/movement.rb
|
256
259
|
- lib/dear_inventory/models/purchase.rb
|
@@ -305,6 +308,7 @@ files:
|
|
305
308
|
- lib/dear_inventory/parameters/advanced_purchase/show.rb
|
306
309
|
- lib/dear_inventory/parameters/customer/index.rb
|
307
310
|
- lib/dear_inventory/parameters/product/index.rb
|
311
|
+
- lib/dear_inventory/parameters/product_availability/index.rb
|
308
312
|
- lib/dear_inventory/parameters/purchase/index.rb
|
309
313
|
- lib/dear_inventory/parameters/purchase/show.rb
|
310
314
|
- lib/dear_inventory/parameters/sale/index.rb
|
@@ -313,6 +317,7 @@ files:
|
|
313
317
|
- lib/dear_inventory/resources/advanced_purchase.rb
|
314
318
|
- lib/dear_inventory/resources/customer.rb
|
315
319
|
- lib/dear_inventory/resources/product.rb
|
320
|
+
- lib/dear_inventory/resources/product_availability.rb
|
316
321
|
- lib/dear_inventory/resources/purchase.rb
|
317
322
|
- lib/dear_inventory/resources/sale.rb
|
318
323
|
- lib/dear_inventory/response.rb
|