dear_inventory 0.4.1 → 0.5.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.
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
@@ -26,7 +26,7 @@ module DearInventory
26
26
  },
27
27
  CreditNoteDate: {
28
28
  name: :credit_note_date,
29
- type: :DateTime,
29
+ type: :Date,
30
30
  },
31
31
  CreditNoteNumber: {
32
32
  name: :credit_note_number,
@@ -34,7 +34,7 @@ module DearInventory
34
34
  },
35
35
  CreditNoteConversionRate: {
36
36
  name: :credit_note_conversion_rate,
37
- type: :Numeric,
37
+ type: :BigDecimal,
38
38
  },
39
39
  Lines: {
40
40
  name: :lines,
@@ -44,7 +44,7 @@ module DearInventory
44
44
  AdditionalCharges: {
45
45
  name: :additional_charges,
46
46
  type: :Array,
47
- model: DearInventory::Models::AdditionalCharge,
47
+ model: DearInventory::Models::Sales::InvoiceAdditionalCharge,
48
48
  },
49
49
  Refunds: {
50
50
  name: :refunds,
@@ -58,15 +58,15 @@ module DearInventory
58
58
  },
59
59
  TotalBeforeTax: {
60
60
  name: :total_before_tax,
61
- type: :Numeric,
61
+ type: :BigDecimal,
62
62
  },
63
63
  Tax: {
64
64
  name: :tax,
65
- type: :Numeric,
65
+ type: :BigDecimal,
66
66
  },
67
67
  Total: {
68
68
  name: :total,
69
- type: :Numeric,
69
+ type: :BigDecimal,
70
70
  }
71
71
  )
72
72
  end
@@ -14,7 +14,7 @@ module DearInventory
14
14
  },
15
15
  FulfillmentNumber: {
16
16
  name: :fulfillment_number,
17
- type: :Numeric,
17
+ type: :Integer,
18
18
  },
19
19
  LinkedInvoiceNumber: {
20
20
  name: :linked_invoice_number,
@@ -31,7 +31,7 @@ module DearInventory
31
31
  },
32
32
  Quantity: {
33
33
  name: :quantity,
34
- type: :Numeric,
34
+ type: :BigDecimal,
35
35
  },
36
36
  BatchSN: {
37
37
  name: :batch_sn,
@@ -34,7 +34,7 @@ module DearInventory
34
34
  },
35
35
  CurrencyConversionRate: {
36
36
  name: :currency_conversion_rate,
37
- type: :Numeric,
37
+ type: :BigDecimal,
38
38
  },
39
39
  BillingAddressLine1: {
40
40
  name: :billing_address_line_1,
@@ -46,7 +46,7 @@ module DearInventory
46
46
  },
47
47
  LinkedFulfillmentNumber: {
48
48
  name: :linked_fulfillment_number,
49
- type: :Numeric,
49
+ type: :Integer,
50
50
  },
51
51
  Lines: {
52
52
  name: :lines,
@@ -56,7 +56,7 @@ module DearInventory
56
56
  AdditionalCharges: {
57
57
  name: :additional_charges,
58
58
  type: :Array,
59
- model: DearInventory::Models::AdditionalCharge,
59
+ model: DearInventory::Models::Sales::InvoiceAdditionalCharge,
60
60
  },
61
61
  Payments: {
62
62
  name: :payments,
@@ -65,19 +65,19 @@ module DearInventory
65
65
  },
66
66
  TotalBeforeTax: {
67
67
  name: :total_before_tax,
68
- type: :Numeric,
68
+ type: :BigDecimal,
69
69
  },
70
70
  Tax: {
71
71
  name: :tax,
72
- type: :Numeric,
72
+ type: :BigDecimal,
73
73
  },
74
74
  Total: {
75
75
  name: :total,
76
- type: :Numeric,
76
+ type: :BigDecimal,
77
77
  },
78
78
  Paid: {
79
79
  name: :paid,
80
- type: :Numeric,
80
+ type: :BigDecimal,
81
81
  }
82
82
  )
83
83
  end
@@ -0,0 +1,19 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ module Sales
7
+ class InvoiceAdditionalCharge < AdditionalCharge
8
+ extend T::Sig
9
+
10
+ fields(
11
+ Account: {
12
+ name: :account,
13
+ type: :String,
14
+ }
15
+ )
16
+ end
17
+ end
18
+ end
19
+ end
@@ -22,23 +22,23 @@ module DearInventory
22
22
  },
23
23
  Quantity: {
24
24
  name: :quantity,
25
- type: :Numeric,
25
+ type: :BigDecimal,
26
26
  },
27
27
  Price: {
28
28
  name: :price,
29
- type: :Numeric,
29
+ type: :BigDecimal,
30
30
  },
31
31
  Discount: {
32
32
  name: :discount,
33
- type: :Numeric,
33
+ type: :BigDecimal,
34
34
  },
35
35
  Tax: {
36
36
  name: :tax,
37
- type: :Numeric,
37
+ type: :BigDecimal,
38
38
  },
39
39
  AverageCost: {
40
40
  name: :average_cost,
41
- type: :Numeric,
41
+ type: :BigDecimal,
42
42
  },
43
43
  TaxRule: {
44
44
  name: :tax_rule,
@@ -50,7 +50,7 @@ module DearInventory
50
50
  },
51
51
  Total: {
52
52
  name: :total,
53
- type: :Numeric,
53
+ type: :BigDecimal,
54
54
  }
55
55
  )
56
56
  end
@@ -14,11 +14,11 @@ module DearInventory
14
14
  },
15
15
  Amount: {
16
16
  name: :amount,
17
- type: :Numeric,
17
+ type: :BigDecimal,
18
18
  },
19
19
  Date: {
20
20
  name: :date,
21
- type: :DateTime,
21
+ type: :Date,
22
22
  },
23
23
  Debit: {
24
24
  name: :debit,
@@ -28,19 +28,19 @@ module DearInventory
28
28
  AdditionalCharges: {
29
29
  name: :additional_charges,
30
30
  type: :Array,
31
- model: DearInventory::Models::AdditionalCharge,
31
+ model: DearInventory::Models::Sales::AdditionalCharge,
32
32
  },
33
33
  TotalBeforeTax: {
34
34
  name: :total_before_tax,
35
- type: :Numeric,
35
+ type: :BigDecimal,
36
36
  },
37
37
  Tax: {
38
38
  name: :tax,
39
- type: :Numeric,
39
+ type: :BigDecimal,
40
40
  },
41
41
  Total: {
42
42
  name: :total,
43
- type: :Numeric,
43
+ type: :BigDecimal,
44
44
  }
45
45
  )
46
46
  end
@@ -18,7 +18,7 @@ module DearInventory
18
18
  },
19
19
  Amount: {
20
20
  name: :amount,
21
- type: :Numeric,
21
+ type: :BigDecimal,
22
22
  },
23
23
  DatePaid: {
24
24
  name: :date_paid,
@@ -30,7 +30,7 @@ module DearInventory
30
30
  },
31
31
  CurrencyRate: {
32
32
  name: :currency_rate,
33
- type: :Numeric,
33
+ type: :BigDecimal,
34
34
  },
35
35
  DateCreated: {
36
36
  name: :date_created,
@@ -29,19 +29,19 @@ module DearInventory
29
29
  AdditionalCharges: {
30
30
  name: :additional_charges,
31
31
  type: :Array,
32
- model: DearInventory::Models::AdditionalCharge,
32
+ model: DearInventory::Models::Sales::AdditionalCharge,
33
33
  },
34
34
  TotalBeforeTax: {
35
35
  name: :total_before_tax,
36
- type: :Numeric,
36
+ type: :BigDecimal,
37
37
  },
38
38
  Tax: {
39
39
  name: :tax,
40
- type: :Numeric,
40
+ type: :BigDecimal,
41
41
  },
42
42
  Total: {
43
43
  name: :total,
44
- type: :Numeric,
44
+ type: :BigDecimal,
45
45
  }
46
46
  )
47
47
  end
@@ -29,7 +29,7 @@ module DearInventory
29
29
  },
30
30
  Amount: {
31
31
  name: :credit,
32
- type: :Numeric,
32
+ type: :BigDecimal,
33
33
  },
34
34
  EffectiveDate: {
35
35
  name: :description,
@@ -0,0 +1,25 @@
1
+ # typed: strict
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ class Parameters
6
+ module Purchase
7
+ class Index < DearInventory::Parameters
8
+ extend T::Sig
9
+
10
+ fields(
11
+ id: {
12
+ property: :ID,
13
+ type: :String,
14
+ required: true,
15
+ },
16
+ combine_additional_charges: {
17
+ property: :CombineAdditionalCharges,
18
+ type: :Boolean,
19
+ required: false,
20
+ }
21
+ )
22
+ end
23
+ end
24
+ end
25
+ end
@@ -36,7 +36,7 @@ module DearInventory
36
36
  order_status: {
37
37
  property: :OrderStatus,
38
38
  type: :Enum,
39
- values: ["VOIDED", "DRAFT", "AUTHORISED", "NOT AVAILABLE",],
39
+ values: ["VOIDED", "DRAFT", "AUTHORISED", "NOT AVAILABLE"],
40
40
  required: false,
41
41
  },
42
42
  restock_received_status: {
@@ -47,19 +47,19 @@ module DearInventory
47
47
  invoice_status: {
48
48
  property: :InvoiceStatus,
49
49
  type: :Enum,
50
- values: ["VOIDED", "DRAFT", "AUTHORISED", "NOT AVAILABLE",],
50
+ values: ["VOIDED", "DRAFT", "AUTHORISED", "NOT AVAILABLE"],
51
51
  required: false,
52
52
  },
53
53
  credit_note_status: {
54
54
  property: :CreditNoteStatus,
55
55
  type: :Enum,
56
- values: ["VOIDED", "DRAFT", "AUTHORISED", "NOT AVAILABLE",],
56
+ values: ["VOIDED", "DRAFT", "AUTHORISED", "NOT AVAILABLE"],
57
57
  required: false,
58
58
  },
59
59
  unstock_status: {
60
60
  property: :UnstockStatus,
61
61
  type: :Enum,
62
- values: ["VOIDED", "DRAFT", "AUTHORISED", "NOT AVAILABLE",],
62
+ values: ["VOIDED", "DRAFT", "AUTHORISED", "NOT AVAILABLE"],
63
63
  required: false,
64
64
  },
65
65
  status: {
@@ -68,7 +68,7 @@ module DearInventory
68
68
  values: [
69
69
  "DRAFT", "VOIDED", "ORDERING", "ORDERED", "RECEIVING", "RECEIVED",
70
70
  "INVOICED", "CREDITED", "RECEIVING / CREDITED",
71
- "RECEIVED / CREDITED", "PARTIALLY INVOICED", "COMPLETED"
71
+ "RECEIVED / CREDITED", "PARTIALLY INVOICED", "COMPLETED",
72
72
  ],
73
73
  required: false,
74
74
  },
@@ -0,0 +1,24 @@
1
+ # typed: strict
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ class Purchase < Resource
6
+ class << self
7
+ extend T::Sig
8
+
9
+ # Purchase
10
+ #
11
+ # @param params [Hash] URL query string parameters that conform to
12
+ # DearInventory::Parameters::Purchase::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, params: params, model: DearInventory::Models::Purchase
20
+ )
21
+ end
22
+ end
23
+ end
24
+ end
@@ -14,7 +14,7 @@ module DearInventory
14
14
  params(params: T::Hash[Symbol, T.untyped]).
15
15
  returns(DearInventory::Response)
16
16
  end
17
- def index(params: {})
17
+ def index(params = {})
18
18
  new.request(
19
19
  :get, params: params, model: DearInventory::Models::PurchaseLists
20
20
  )
@@ -14,7 +14,7 @@ module DearInventory
14
14
  params(params: T::Hash[Symbol, T.untyped]).
15
15
  returns(DearInventory::Response)
16
16
  end
17
- def index(params: {})
17
+ def index(params = {})
18
18
  new.request(:get, params: params, model: DearInventory::Models::Sale)
19
19
  end
20
20
  end
@@ -14,7 +14,7 @@ module DearInventory
14
14
  params(params: T::Hash[Symbol, T.untyped]).
15
15
  returns(DearInventory::Response)
16
16
  end
17
- def index(params: {})
17
+ def index(params = {})
18
18
  new.request(
19
19
  :get, params: params, model: DearInventory::Models::SaleLists
20
20
  )
@@ -20,7 +20,6 @@ module DearInventory
20
20
  def initialize(request:, response:)
21
21
  @request = T.let(request, DearInventory::Models::Request)
22
22
  @response = T.let(response, HTTP::Response)
23
- @body = T.let(nil, T.nilable(String))
24
23
  @http_status = T.let(nil, T.nilable(Integer))
25
24
  @model = T.let(nil, T.nilable(DearInventory::Model))
26
25
  @uri = T.let(nil, T.nilable(String))
@@ -29,11 +28,6 @@ module DearInventory
29
28
  raise_error unless success?
30
29
  end
31
30
 
32
- sig { returns(T.untyped) }
33
- def body
34
- @body ||= JSON.parse(@response.body.to_s)
35
- end
36
-
37
31
  sig { returns(T.nilable(String)) }
38
32
  def error
39
33
  # body.fetch("message", nil) if body.respond_to?(:fetch)
@@ -71,6 +65,13 @@ module DearInventory
71
65
  @uri ||= @response.uri.to_s
72
66
  end
73
67
 
68
+ protected
69
+
70
+ sig { returns(T.untyped) }
71
+ def body
72
+ JSON.parse(@response.body.to_s)
73
+ end
74
+
74
75
  private
75
76
 
76
77
  sig { void }
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module DearInventory
5
- VERSION = "0.4.1"
5
+ VERSION = "0.5.0"
6
6
  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: 0.4.1
4
+ version: 0.5.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-03-06 00:00:00.000000000 Z
11
+ date: 2020-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http
@@ -231,16 +231,30 @@ files:
231
231
  - lib/dear_inventory/lib/request.rb
232
232
  - lib/dear_inventory/model.rb
233
233
  - lib/dear_inventory/models/additional_attributes.rb
234
- - lib/dear_inventory/models/additional_charge.rb
235
234
  - lib/dear_inventory/models/address.rb
236
235
  - lib/dear_inventory/models/attachment.rb
237
236
  - lib/dear_inventory/models/inventory_movement.rb
237
+ - lib/dear_inventory/models/purchase.rb
238
238
  - lib/dear_inventory/models/purchase_list.rb
239
239
  - lib/dear_inventory/models/purchase_lists.rb
240
+ - lib/dear_inventory/models/purchases/additional_charge.rb
241
+ - lib/dear_inventory/models/purchases/credit_note.rb
242
+ - lib/dear_inventory/models/purchases/inventory_movement.rb
243
+ - lib/dear_inventory/models/purchases/invoice.rb
244
+ - lib/dear_inventory/models/purchases/invoice_additional_charge.rb
245
+ - lib/dear_inventory/models/purchases/invoice_line.rb
246
+ - lib/dear_inventory/models/purchases/line.rb
247
+ - lib/dear_inventory/models/purchases/manual_journal.rb
248
+ - lib/dear_inventory/models/purchases/manual_journal_line.rb
249
+ - lib/dear_inventory/models/purchases/order.rb
250
+ - lib/dear_inventory/models/purchases/stock.rb
251
+ - lib/dear_inventory/models/purchases/stock_line.rb
252
+ - lib/dear_inventory/models/purchases/unstock_line.rb
240
253
  - lib/dear_inventory/models/request.rb
241
254
  - lib/dear_inventory/models/sale.rb
242
255
  - lib/dear_inventory/models/sale_list.rb
243
256
  - lib/dear_inventory/models/sale_lists.rb
257
+ - lib/dear_inventory/models/sales/additional_charge.rb
244
258
  - lib/dear_inventory/models/sales/credit_note.rb
245
259
  - lib/dear_inventory/models/sales/fulfilment.rb
246
260
  - lib/dear_inventory/models/sales/fulfilments/pick_pack.rb
@@ -248,6 +262,7 @@ files:
248
262
  - lib/dear_inventory/models/sales/fulfilments/ship.rb
249
263
  - lib/dear_inventory/models/sales/fulfilments/ship_line.rb
250
264
  - lib/dear_inventory/models/sales/invoice.rb
265
+ - lib/dear_inventory/models/sales/invoice_additional_charge.rb
251
266
  - lib/dear_inventory/models/sales/invoice_line.rb
252
267
  - lib/dear_inventory/models/sales/line.rb
253
268
  - lib/dear_inventory/models/sales/manual_journal.rb
@@ -258,10 +273,12 @@ files:
258
273
  - lib/dear_inventory/models/shipping_address.rb
259
274
  - lib/dear_inventory/models/transaction.rb
260
275
  - lib/dear_inventory/parameters.rb
276
+ - lib/dear_inventory/parameters/purchase/index.rb
261
277
  - lib/dear_inventory/parameters/purchase_list/index.rb
262
278
  - lib/dear_inventory/parameters/sale/index.rb
263
279
  - lib/dear_inventory/parameters/sale_list/index.rb
264
280
  - lib/dear_inventory/resource.rb
281
+ - lib/dear_inventory/resources/purchase.rb
265
282
  - lib/dear_inventory/resources/purchase_list.rb
266
283
  - lib/dear_inventory/resources/sale.rb
267
284
  - lib/dear_inventory/resources/sale_list.rb