dear_inventory 0.4.1 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/lib/dear_inventory.rb +18 -1
  3. data/lib/dear_inventory/model.rb +5 -1
  4. data/lib/dear_inventory/models/inventory_movement.rb +2 -2
  5. data/lib/dear_inventory/models/purchase.rb +151 -0
  6. data/lib/dear_inventory/models/purchases/additional_charge.rb +43 -0
  7. data/lib/dear_inventory/models/purchases/credit_note.rb +59 -0
  8. data/lib/dear_inventory/models/purchases/inventory_movement.rb +31 -0
  9. data/lib/dear_inventory/models/purchases/invoice.rb +69 -0
  10. data/lib/dear_inventory/models/purchases/invoice_additional_charge.rb +23 -0
  11. data/lib/dear_inventory/models/purchases/invoice_line.rb +19 -0
  12. data/lib/dear_inventory/models/purchases/line.rb +59 -0
  13. data/lib/dear_inventory/models/purchases/manual_journal.rb +24 -0
  14. data/lib/dear_inventory/models/purchases/manual_journal_line.rb +39 -0
  15. data/lib/dear_inventory/models/purchases/order.rb +50 -0
  16. data/lib/dear_inventory/models/purchases/stock.rb +24 -0
  17. data/lib/dear_inventory/models/purchases/stock_line.rb +63 -0
  18. data/lib/dear_inventory/models/purchases/unstock_line.rb +51 -0
  19. data/lib/dear_inventory/models/sale.rb +2 -2
  20. data/lib/dear_inventory/models/sale_list.rb +4 -4
  21. data/lib/dear_inventory/models/sales/additional_charge.rb +47 -0
  22. data/lib/dear_inventory/models/sales/credit_note.rb +6 -6
  23. data/lib/dear_inventory/models/sales/fulfilment.rb +1 -1
  24. data/lib/dear_inventory/models/sales/fulfilments/pick_pack_line.rb +1 -1
  25. data/lib/dear_inventory/models/sales/invoice.rb +7 -7
  26. data/lib/dear_inventory/models/sales/invoice_additional_charge.rb +19 -0
  27. data/lib/dear_inventory/models/sales/line.rb +6 -6
  28. data/lib/dear_inventory/models/sales/manual_journal_line.rb +2 -2
  29. data/lib/dear_inventory/models/sales/order.rb +4 -4
  30. data/lib/dear_inventory/models/sales/payment_line.rb +2 -2
  31. data/lib/dear_inventory/models/sales/quote.rb +4 -4
  32. data/lib/dear_inventory/models/transaction.rb +1 -1
  33. data/lib/dear_inventory/parameters/purchase/index.rb +25 -0
  34. data/lib/dear_inventory/parameters/purchase_list/index.rb +5 -5
  35. data/lib/dear_inventory/resources/purchase.rb +24 -0
  36. data/lib/dear_inventory/resources/purchase_list.rb +1 -1
  37. data/lib/dear_inventory/resources/sale.rb +1 -1
  38. data/lib/dear_inventory/resources/sale_list.rb +1 -1
  39. data/lib/dear_inventory/response.rb +7 -6
  40. data/lib/dear_inventory/version.rb +1 -1
  41. metadata +20 -3
  42. data/lib/dear_inventory/models/additional_charge.rb +0 -45
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b22859ffbafa628c967c21f336ec195f623bfa78786d597d7953533d4035a5d1
4
- data.tar.gz: 8cd3466babf42f148fdde4ca44987db5ad83d37c8fcd8170e8215a0086a43685
3
+ metadata.gz: b445769028c6b81e655cd7bd902dc8327504d77303029b826895cf5dce296e66
4
+ data.tar.gz: eeee1b7960670891118de2e27082f17ef81bbc2b51b2fda75eea4c744e03128d
5
5
  SHA512:
6
- metadata.gz: 14b5f390bd1930fede2122a167c8bd4d293be48a2e233519e0aedf1d6961252e7fe5a49fe6d117a5b48c988fcc3dbaff0d15a4526f1583dd7daec58e778d5303
7
- data.tar.gz: 7aa8ae573c6dd41c433cb1ead93f7d407e4fcc3b7f1d696432b2ce2fd9094047af04bc8884692db2cb93d40a77aa73234530ff36eb06f0bfde11cbd8093b6990
6
+ metadata.gz: 4c816c72d227162ec60f542eccad61194c4e509584118995dae0172ca4d62acee792734ee10bfd12f45c86f26faa2e46c186da0f515ab80d18dbf892f90cb8b5
7
+ data.tar.gz: 864070cd75c5024a548ef1e2712d0051c5a1aab1d9dcc56806731bb0295fdf31efc1a7a23ecfce46f8cbfd79e37b3d8f6104869312ba6216bbaa90626d3b05d5
@@ -19,13 +19,24 @@ require "dear_inventory/lib/request"
19
19
 
20
20
  require "dear_inventory/model"
21
21
  require "dear_inventory/models/additional_attributes"
22
- require "dear_inventory/models/additional_charge"
23
22
  require "dear_inventory/models/address"
24
23
  require "dear_inventory/models/attachment"
25
24
  require "dear_inventory/models/inventory_movement"
26
25
  require "dear_inventory/models/purchase_list"
27
26
  require "dear_inventory/models/purchase_lists"
27
+ require "dear_inventory/models/purchases/additional_charge"
28
+ require "dear_inventory/models/purchases/inventory_movement"
29
+ require "dear_inventory/models/purchases/invoice_additional_charge"
30
+ require "dear_inventory/models/purchases/line"
31
+ require "dear_inventory/models/purchases/invoice_line"
32
+ require "dear_inventory/models/purchases/manual_journal_line"
33
+ require "dear_inventory/models/purchases/manual_journal"
34
+ require "dear_inventory/models/purchases/stock_line"
35
+ require "dear_inventory/models/purchases/stock"
36
+ require "dear_inventory/models/purchases/unstock_line"
28
37
  require "dear_inventory/models/sale_list"
38
+ require "dear_inventory/models/sales/additional_charge"
39
+ require "dear_inventory/models/sales/invoice_additional_charge"
29
40
  require "dear_inventory/models/sales/line"
30
41
  require "dear_inventory/models/sales/invoice_line"
31
42
  require "dear_inventory/models/sales/manual_journal_line"
@@ -41,6 +52,10 @@ require "dear_inventory/models/sales/fulfilments/ship_line"
41
52
  require "dear_inventory/models/sales/fulfilments/ship"
42
53
  require "dear_inventory/models/sales/fulfilment"
43
54
  require "dear_inventory/models/sale_lists"
55
+ require "dear_inventory/models/purchases/credit_note"
56
+ require "dear_inventory/models/purchases/invoice"
57
+ require "dear_inventory/models/purchases/order"
58
+ require "dear_inventory/models/purchase"
44
59
  require "dear_inventory/models/sales/credit_note"
45
60
  require "dear_inventory/models/sales/invoice"
46
61
  require "dear_inventory/models/sale"
@@ -56,11 +71,13 @@ require "dear_inventory/validators/string"
56
71
  require "dear_inventory/validators/time"
57
72
 
58
73
  require "dear_inventory/parameters"
74
+ require "dear_inventory/parameters/purchase/index"
59
75
  require "dear_inventory/parameters/purchase_list/index"
60
76
  require "dear_inventory/parameters/sale/index"
61
77
  require "dear_inventory/parameters/sale_list/index"
62
78
 
63
79
  require "dear_inventory/resource"
80
+ require "dear_inventory/resources/purchase"
64
81
  require "dear_inventory/resources/purchase_list"
65
82
  require "dear_inventory/resources/sale"
66
83
  require "dear_inventory/resources/sale_list"
@@ -66,7 +66,7 @@ module DearInventory
66
66
  ).returns(
67
67
  T.nilable(
68
68
  T.any(
69
- String, Numeric, T::Boolean,
69
+ Date, DateTime, String, Numeric, T::Boolean,
70
70
  DearInventory::Model, T::Array[DearInventory::Model]
71
71
  )
72
72
  )
@@ -80,6 +80,10 @@ module DearInventory
80
80
  value = values[response_name.to_s]
81
81
 
82
82
  case specifications[:type]
83
+ when :Date
84
+ ::Date.parse(value) unless value.nil?
85
+ when :DateTime
86
+ ::DateTime.parse(value) unless value.nil?
83
87
  when :Array
84
88
  initialize_array_values_in_models(value, T.must(model))
85
89
  when :Hash
@@ -17,11 +17,11 @@ module DearInventory
17
17
  },
18
18
  Date: {
19
19
  name: :date,
20
- type: :DateTime,
20
+ type: :Date,
21
21
  },
22
22
  COGS: {
23
23
  name: :cogs,
24
- type: :Numeric,
24
+ type: :BigDecimal,
25
25
  }
26
26
  )
27
27
  end
@@ -0,0 +1,151 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Purchase < DearInventory::Model
7
+ extend T::Sig
8
+
9
+ fields(
10
+ ID: {
11
+ name: :id,
12
+ type: :Guid,
13
+ },
14
+ SupplierID: {
15
+ name: :supplier_id,
16
+ type: :Guid,
17
+ },
18
+ Supplier: {
19
+ name: :supplier,
20
+ type: :String,
21
+ },
22
+ Contact: {
23
+ name: :contact,
24
+ type: :String,
25
+ },
26
+ Phone: {
27
+ name: :phone,
28
+ type: :String,
29
+ },
30
+ InventoryAccount: {
31
+ name: :inventory_account,
32
+ type: :String,
33
+ },
34
+ BlindReceipt: {
35
+ name: :blind_receipt,
36
+ type: :Boolean,
37
+ },
38
+ Approach: {
39
+ name: :approach,
40
+ type: :String,
41
+ },
42
+ BillingAddress: {
43
+ name: :billing_address,
44
+ type: :Hash,
45
+ model: DearInventory::Models::Address,
46
+ },
47
+ ShippingAddress: {
48
+ name: :shipping_address,
49
+ type: :Hash,
50
+ model: DearInventory::Models::Address,
51
+ },
52
+ BaseCurrency: {
53
+ name: :base_currency,
54
+ type: :String,
55
+ },
56
+ SupplierCurrency: {
57
+ name: :supplier_currency,
58
+ type: :String,
59
+ },
60
+ TaxRule: {
61
+ name: :tax_rule,
62
+ type: :String,
63
+ },
64
+ TaxCalculation: {
65
+ name: :tax_calculation,
66
+ type: :String,
67
+ },
68
+ Terms: {
69
+ name: :terms,
70
+ type: :String,
71
+ },
72
+ RequiredBy: {
73
+ name: :required_by,
74
+ type: :Date,
75
+ },
76
+ Location: {
77
+ name: :location,
78
+ type: :String,
79
+ },
80
+ Note: {
81
+ name: :note,
82
+ type: :String,
83
+ },
84
+ OrderNumber: {
85
+ name: :order_number,
86
+ type: :String,
87
+ },
88
+ OrderDate: {
89
+ name: :order_date,
90
+ type: :Date,
91
+ },
92
+ Status: {
93
+ name: :status,
94
+ type: :String,
95
+ },
96
+ RelatedDropShipSaleTask: {
97
+ name: :related_drop_ship_sale_task,
98
+ type: :Guid,
99
+ },
100
+ CurrencyRate: {
101
+ name: :currency_rate,
102
+ type: :Decimal,
103
+ },
104
+ LastUpdatedDate: {
105
+ name: :last_updated_date,
106
+ type: :Date,
107
+ },
108
+ Order: {
109
+ name: :order,
110
+ type: :Hash,
111
+ model: DearInventory::Models::Purchases::Order,
112
+ },
113
+ StockReceived: {
114
+ name: :stock_received,
115
+ type: :Hash,
116
+ model: DearInventory::Models::Purchases::Stock,
117
+ },
118
+ Invoice: {
119
+ name: :invoice,
120
+ type: :Hash,
121
+ model: DearInventory::Models::Purchases::Invoice,
122
+ },
123
+ CreditNote: {
124
+ name: :credit_note,
125
+ type: :Hash,
126
+ model: DearInventory::Models::Purchases::CreditNote,
127
+ },
128
+ ManualJournals: {
129
+ name: :manual_journals,
130
+ type: :Hash,
131
+ model: DearInventory::Models::Purchases::ManualJournal,
132
+ },
133
+ AdditionalAttributes: {
134
+ name: :additional_attributes,
135
+ type: :Hash,
136
+ model: DearInventory::Models::AdditionalAttributes,
137
+ },
138
+ Attachments: {
139
+ name: :attachments,
140
+ type: :Array,
141
+ model: DearInventory::Models::Attachment,
142
+ },
143
+ InventoryMovements: {
144
+ name: :inventory_movements,
145
+ type: :Array,
146
+ model: DearInventory::Models::Purchases::InventoryMovement,
147
+ }
148
+ )
149
+ end
150
+ end
151
+ end
@@ -0,0 +1,43 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ module Purchases
7
+ class AdditionalCharge < DearInventory::Model
8
+ extend T::Sig
9
+
10
+ fields(
11
+ Description: {
12
+ name: :description,
13
+ type: :String,
14
+ },
15
+ Price: {
16
+ name: :price,
17
+ type: :BigDecimal,
18
+ },
19
+ Quantity: {
20
+ name: :quantity,
21
+ type: :BigDecimal,
22
+ },
23
+ Discount: {
24
+ name: :discount,
25
+ type: :BigDecimal,
26
+ },
27
+ Tax: {
28
+ name: :tax,
29
+ type: :BigDecimal,
30
+ },
31
+ Total: {
32
+ name: :total,
33
+ type: :BigDecimal,
34
+ },
35
+ TaxRule: {
36
+ name: :tax_rule,
37
+ type: :String,
38
+ }
39
+ )
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,59 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ module Purchases
7
+ class CreditNote < DearInventory::Model
8
+ extend T::Sig
9
+
10
+ fields(
11
+ CreditNoteNumber: {
12
+ name: :credit_note_number,
13
+ type: :String,
14
+ },
15
+ CreditNoteDate: {
16
+ name: :credit_note_date,
17
+ type: :Date,
18
+ },
19
+ Status: {
20
+ name: :status,
21
+ type: :String,
22
+ },
23
+ Lines: {
24
+ name: :lines,
25
+ type: :Array,
26
+ model: DearInventory::Models::Purchases::InvoiceLine,
27
+ },
28
+ AdditionalCharges: {
29
+ name: :additional_charges,
30
+ type: :Array,
31
+ model: DearInventory::Models::Purchases::InvoiceAdditionalCharge,
32
+ },
33
+ Refunds: {
34
+ name: :refunds,
35
+ type: :Array,
36
+ model: DearInventory::Models::Sales::PaymentLine,
37
+ },
38
+ Unstock: {
39
+ name: :unstock,
40
+ type: :Array,
41
+ model: DearInventory::Models::Sales::PaymentLine,
42
+ },
43
+ TotalBeforeTax: {
44
+ name: :total_before_tax,
45
+ type: :BigDecimal,
46
+ },
47
+ Tax: {
48
+ name: :tax,
49
+ type: :BigDecimal,
50
+ },
51
+ Total: {
52
+ name: :total,
53
+ type: :BigDecimal,
54
+ }
55
+ )
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,31 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ module Purchases
7
+ class InventoryMovement < DearInventory::Model
8
+ extend T::Sig
9
+
10
+ fields(
11
+ TaskID: {
12
+ name: :task_id,
13
+ type: :Guid,
14
+ },
15
+ ProductID: {
16
+ name: :product_id,
17
+ type: :Guid,
18
+ },
19
+ Date: {
20
+ name: :date,
21
+ type: :Date,
22
+ },
23
+ COGS: {
24
+ name: :cogs,
25
+ type: :BigDecimal,
26
+ }
27
+ )
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,69 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ module Purchases
7
+ class Invoice < DearInventory::Model
8
+ extend T::Sig
9
+
10
+ fields(
11
+ TaskID: {
12
+ name: :task_id,
13
+ type: :Guid,
14
+ },
15
+ CombineAdditionalCharges: {
16
+ name: :combine_additional_charges,
17
+ type: :Boolean,
18
+ },
19
+ InvoiceDate: {
20
+ name: :invoice_date,
21
+ type: :Date,
22
+ },
23
+ InvoiceDueDate: {
24
+ name: :invoice_due_date,
25
+ type: :Date,
26
+ },
27
+ InvoiceNumber: {
28
+ name: :invoice_number,
29
+ type: :String,
30
+ },
31
+ Status: {
32
+ name: :status,
33
+ type: :String,
34
+ },
35
+ Lines: {
36
+ name: :lines,
37
+ type: :Array,
38
+ model: DearInventory::Models::Purchases::Line,
39
+ },
40
+ AdditionalCharges: {
41
+ name: :additional_charges,
42
+ type: :Array,
43
+ model: DearInventory::Models::Purchases::InvoiceAdditionalCharge,
44
+ },
45
+ TotalBeforeTax: {
46
+ name: :total_before_tax,
47
+ type: :BigDecimal,
48
+ },
49
+ Tax: {
50
+ name: :tax,
51
+ type: :BigDecimal,
52
+ },
53
+ Total: {
54
+ name: :total,
55
+ type: :BigDecimal,
56
+ },
57
+ InvoiceTotalAmount: {
58
+ name: :invoice_total_amount,
59
+ type: :BigDecimal,
60
+ },
61
+ InvoiceTotalTaxAmount: {
62
+ name: :invoice_total_tax_amount,
63
+ type: :BigDecimal,
64
+ }
65
+ )
66
+ end
67
+ end
68
+ end
69
+ end