dear_inventory 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|