dear_inventory 0.7.5 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +15 -0
  3. data/README.md +70 -18
  4. data/dear_inventory.gemspec +1 -1
  5. data/docs/resources/advanced_purchase.md +25 -0
  6. data/docs/resources/customer.md +31 -0
  7. data/docs/resources/product.md +37 -0
  8. data/docs/resources/purchase.md +89 -0
  9. data/docs/resources/sale.md +89 -0
  10. data/lib/dear_inventory.rb +20 -8
  11. data/lib/dear_inventory/config.rb +17 -6
  12. data/lib/dear_inventory/errors/api_limit.rb +6 -0
  13. data/lib/dear_inventory/errors/no_more_pages.rb +6 -0
  14. data/lib/dear_inventory/lib/endpoint_class.rb +1 -1
  15. data/lib/dear_inventory/lib/request.rb +45 -8
  16. data/lib/dear_inventory/lib/strings/urlize.rb +18 -0
  17. data/lib/dear_inventory/model.rb +22 -9
  18. data/lib/dear_inventory/models/advanced_purchase.rb +176 -0
  19. data/lib/dear_inventory/models/customer.rb +1 -1
  20. data/lib/dear_inventory/models/customers.rb +1 -1
  21. data/lib/dear_inventory/models/products.rb +1 -1
  22. data/lib/dear_inventory/models/{purchase_list.rb → purchases.rb} +12 -2
  23. data/lib/dear_inventory/models/purchases/additional_charge.rb +1 -1
  24. data/lib/dear_inventory/models/purchases/advanced/credit_note.rb +21 -0
  25. data/lib/dear_inventory/models/purchases/advanced/invoice.rb +68 -0
  26. data/lib/dear_inventory/models/purchases/advanced/manual_journal.rb +21 -0
  27. data/lib/dear_inventory/models/purchases/advanced/put_away.rb +34 -0
  28. data/lib/dear_inventory/models/purchases/advanced/put_away_line.rb +21 -0
  29. data/lib/dear_inventory/models/purchases/advanced/stock.rb +30 -0
  30. data/lib/dear_inventory/models/purchases/advanced/stock_line.rb +61 -0
  31. data/lib/dear_inventory/models/purchases/credit_note.rb +1 -1
  32. data/lib/dear_inventory/models/purchases/inventory_movement.rb +1 -1
  33. data/lib/dear_inventory/models/purchases/invoice.rb +1 -1
  34. data/lib/dear_inventory/models/purchases/invoice_additional_charge.rb +1 -1
  35. data/lib/dear_inventory/models/purchases/invoice_line.rb +1 -1
  36. data/lib/dear_inventory/models/purchases/line.rb +1 -1
  37. data/lib/dear_inventory/models/purchases/manual_journal.rb +1 -1
  38. data/lib/dear_inventory/models/purchases/manual_journal_line.rb +1 -1
  39. data/lib/dear_inventory/models/purchases/order.rb +1 -1
  40. data/lib/dear_inventory/models/purchases/payment_line.rb +51 -0
  41. data/lib/dear_inventory/models/purchases/stock.rb +1 -1
  42. data/lib/dear_inventory/models/purchases/stock_line.rb +1 -1
  43. data/lib/dear_inventory/models/purchases/unstock_line.rb +1 -1
  44. data/lib/dear_inventory/models/{purchase_lists.rb → purchases_results.rb} +4 -4
  45. data/lib/dear_inventory/models/{sale_list.rb → sales.rb} +7 -2
  46. data/lib/dear_inventory/models/sales/additional_charge.rb +1 -1
  47. data/lib/dear_inventory/models/sales/credit_note.rb +1 -1
  48. data/lib/dear_inventory/models/sales/fulfilment.rb +1 -1
  49. data/lib/dear_inventory/models/sales/fulfilments/pick_pack.rb +1 -1
  50. data/lib/dear_inventory/models/sales/fulfilments/pick_pack_line.rb +1 -1
  51. data/lib/dear_inventory/models/sales/fulfilments/ship.rb +1 -1
  52. data/lib/dear_inventory/models/sales/fulfilments/ship_line.rb +1 -1
  53. data/lib/dear_inventory/models/sales/invoice.rb +1 -1
  54. data/lib/dear_inventory/models/sales/invoice_additional_charge.rb +1 -1
  55. data/lib/dear_inventory/models/sales/invoice_line.rb +1 -1
  56. data/lib/dear_inventory/models/sales/line.rb +1 -1
  57. data/lib/dear_inventory/models/sales/manual_journal.rb +1 -1
  58. data/lib/dear_inventory/models/sales/manual_journal_line.rb +1 -1
  59. data/lib/dear_inventory/models/sales/order.rb +1 -1
  60. data/lib/dear_inventory/models/sales/payment_line.rb +1 -1
  61. data/lib/dear_inventory/models/sales/quote.rb +1 -1
  62. data/lib/dear_inventory/models/{sale_lists.rb → sales_results.rb} +4 -4
  63. data/lib/dear_inventory/parameters/advanced_purchase/show.rb +25 -0
  64. data/lib/dear_inventory/parameters/purchase/index.rb +65 -6
  65. data/lib/dear_inventory/parameters/purchase/show.rb +25 -0
  66. data/lib/dear_inventory/parameters/sale/index.rb +95 -11
  67. data/lib/dear_inventory/parameters/sale/show.rb +35 -0
  68. data/lib/dear_inventory/resource.rb +8 -11
  69. data/lib/dear_inventory/resources/{purchase_list.rb → advanced_purchase.rb} +8 -5
  70. data/lib/dear_inventory/resources/customer.rb +2 -0
  71. data/lib/dear_inventory/resources/product.rb +2 -0
  72. data/lib/dear_inventory/resources/purchase.rb +38 -2
  73. data/lib/dear_inventory/resources/sale.rb +38 -2
  74. data/lib/dear_inventory/response.rb +118 -17
  75. data/lib/dear_inventory/version.rb +1 -1
  76. data/sorbet/rbi/hidden-definitions/hidden.rbi +0 -4
  77. metadata +29 -12
  78. data/lib/dear_inventory/parameters/purchase_list/index.rb +0 -84
  79. data/lib/dear_inventory/parameters/sale_list/index.rb +0 -119
  80. data/lib/dear_inventory/resources/sale_list.rb +0 -24
@@ -117,7 +117,7 @@ module DearInventory
117
117
  },
118
118
  LastModifiedOn: {
119
119
  name: :last_modified_on,
120
- type: :String,
120
+ type: :DateTime,
121
121
  },
122
122
  Addresses: {
123
123
  name: :addresses,
@@ -17,7 +17,7 @@ module DearInventory
17
17
  },
18
18
  CustomerList: {
19
19
  name: :customer_list,
20
- type: :Array,
20
+ type: :ResultSet,
21
21
  model: DearInventory::Models::Customer,
22
22
  }
23
23
  )
@@ -17,7 +17,7 @@ module DearInventory
17
17
  },
18
18
  Products: {
19
19
  name: :products,
20
- type: :Array,
20
+ type: :ResultSet,
21
21
  model: DearInventory::Models::Product,
22
22
  }
23
23
  )
@@ -1,9 +1,9 @@
1
- # typed: strong
1
+ # typed: strict
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- class PurchaseList < DearInventory::Model
6
+ class Purchases < DearInventory::Model
7
7
  extend T::Sig
8
8
 
9
9
  fields(
@@ -120,6 +120,16 @@ module DearInventory
120
120
  type: :Guid,
121
121
  }
122
122
  )
123
+
124
+ sig { returns(DearInventory::Response) }
125
+ def full_record
126
+ case T.unsafe(self).type
127
+ when "Advanced Purchase", "Service Purchase"
128
+ DearInventory::AdvancedPurchase.show(id: T.unsafe(self).id)
129
+ else
130
+ DearInventory::Purchase.show(id: T.unsafe(self).id)
131
+ end
132
+ end
123
133
  end
124
134
  end
125
135
  end
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Purchases
6
+ class Purchases < DearInventory::Model
7
7
  class AdditionalCharge < DearInventory::Model
8
8
  extend T::Sig
9
9
 
@@ -0,0 +1,21 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Purchases < DearInventory::Model
7
+ module Advanced
8
+ class CreditNote < DearInventory::Models::Purchases::CreditNote
9
+ extend T::Sig
10
+
11
+ fields(
12
+ TaskID: {
13
+ name: :task_id,
14
+ type: :Guid,
15
+ }
16
+ )
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,68 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Purchases < DearInventory::Model
7
+ module Advanced
8
+ class Invoice < DearInventory::Model
9
+ extend T::Sig
10
+
11
+ fields(
12
+ TaskID: {
13
+ name: :task_id,
14
+ type: :Guid,
15
+ },
16
+ InvoiceDate: {
17
+ name: :invoice_date,
18
+ type: :Date,
19
+ },
20
+ InvoiceDueDate: {
21
+ name: :invoice_due_date,
22
+ type: :Date,
23
+ },
24
+ InvoiceNumber: {
25
+ name: :invoice_number,
26
+ type: :String,
27
+ },
28
+ Status: {
29
+ name: :status,
30
+ type: :String,
31
+ },
32
+ Lines: {
33
+ name: :lines,
34
+ type: :Array,
35
+ model: DearInventory::Models::Purchases::Line,
36
+ },
37
+ AdditionalCharges: {
38
+ name: :additional_charges,
39
+ type: :Array,
40
+ model: DearInventory::Models::Purchases::InvoiceAdditionalCharge,
41
+ },
42
+ Payments: {
43
+ name: :payments,
44
+ type: :Array,
45
+ model: DearInventory::Models::Purchases::PaymentLine,
46
+ },
47
+ TotalBeforeTax: {
48
+ name: :total_before_tax,
49
+ type: :BigDecimal,
50
+ },
51
+ Tax: {
52
+ name: :tax,
53
+ type: :BigDecimal,
54
+ },
55
+ Total: {
56
+ name: :total,
57
+ type: :BigDecimal,
58
+ },
59
+ Paid: {
60
+ name: :paid,
61
+ type: :BigDecimal,
62
+ }
63
+ )
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,21 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Purchases < DearInventory::Model
7
+ module Advanced
8
+ class ManualJournal < DearInventory::Models::Purchases::ManualJournal
9
+ extend T::Sig
10
+
11
+ fields(
12
+ TaskID: {
13
+ name: :task_id,
14
+ type: :Guid,
15
+ }
16
+ )
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,34 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Purchases < DearInventory::Model
7
+ module Advanced
8
+ class PutAway < DearInventory::Model
9
+ extend T::Sig
10
+
11
+ fields(
12
+ PurchaseID: {
13
+ name: :purchase_id,
14
+ type: :Guid,
15
+ },
16
+ TaskID: {
17
+ name: :task_id,
18
+ type: :Guid,
19
+ },
20
+ Status: {
21
+ name: :status,
22
+ type: :String,
23
+ },
24
+ Lines: {
25
+ name: :lines,
26
+ type: :Array,
27
+ model: DearInventory::Models::Purchases::Advanced::PutAwayLine,
28
+ }
29
+ )
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,21 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Purchases < DearInventory::Model
7
+ module Advanced
8
+ class PutAwayLine < StockLine
9
+ extend T::Sig
10
+
11
+ fields(
12
+ CardID: {
13
+ name: :card_id,
14
+ type: :CardID,
15
+ }
16
+ )
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,30 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Purchases < DearInventory::Model
7
+ module Advanced
8
+ class Stock < DearInventory::Model
9
+ extend T::Sig
10
+
11
+ fields(
12
+ TaskID: {
13
+ name: :task_id,
14
+ type: :Guid,
15
+ },
16
+ Status: {
17
+ name: :status,
18
+ type: :String,
19
+ },
20
+ Lines: {
21
+ name: :lines,
22
+ type: :Array,
23
+ model: DearInventory::Models::Purchases::Advanced::StockLine,
24
+ }
25
+ )
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,61 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Purchases < DearInventory::Model
7
+ module Advanced
8
+ class StockLine < DearInventory::Model
9
+ extend T::Sig
10
+
11
+ fields(
12
+ Date: {
13
+ name: :date,
14
+ type: :Date,
15
+ },
16
+ Quantity: {
17
+ name: :quantity,
18
+ type: :Float,
19
+ },
20
+ ProductID: {
21
+ name: :product_id,
22
+ type: :Guid,
23
+ },
24
+ SKU: {
25
+ name: :sku,
26
+ type: :String,
27
+ },
28
+ Name: {
29
+ name: :name,
30
+ type: :String,
31
+ },
32
+ Location: {
33
+ name: :location,
34
+ type: :String,
35
+ },
36
+ LocationID: {
37
+ name: :location_id,
38
+ type: :Guid,
39
+ },
40
+ Received: {
41
+ name: :received,
42
+ type: :Boolean,
43
+ },
44
+ BatchSN: {
45
+ name: :batch_sn,
46
+ type: :String,
47
+ },
48
+ SupplierSKU: {
49
+ name: :supplier_sku,
50
+ type: :String,
51
+ },
52
+ ExpiryDate: {
53
+ name: :expiry_date,
54
+ type: :Date,
55
+ }
56
+ )
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Purchases
6
+ class Purchases < DearInventory::Model
7
7
  class CreditNote < DearInventory::Model
8
8
  extend T::Sig
9
9
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Purchases
6
+ class Purchases < DearInventory::Model
7
7
  class InventoryMovement < DearInventory::Model
8
8
  extend T::Sig
9
9
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Purchases
6
+ class Purchases < DearInventory::Model
7
7
  class Invoice < DearInventory::Model
8
8
  extend T::Sig
9
9
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Purchases
6
+ class Purchases < DearInventory::Model
7
7
  class InvoiceAdditionalCharge < AdditionalCharge
8
8
  extend T::Sig
9
9
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Purchases
6
+ class Purchases < DearInventory::Model
7
7
  class InvoiceLine < Line
8
8
  extend T::Sig
9
9
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Purchases
6
+ class Purchases < DearInventory::Model
7
7
  class Line < DearInventory::Model
8
8
  extend T::Sig
9
9
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Purchases
6
+ class Purchases < DearInventory::Model
7
7
  class ManualJournal < DearInventory::Model
8
8
  extend T::Sig
9
9
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Purchases
6
+ class Purchases < DearInventory::Model
7
7
  class ManualJournalLine < DearInventory::Model
8
8
  extend T::Sig
9
9
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Purchases
6
+ class Purchases < DearInventory::Model
7
7
  class Order < DearInventory::Model
8
8
  extend T::Sig
9
9
 
@@ -0,0 +1,51 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Purchases < DearInventory::Model
7
+ class PaymentLine < DearInventory::Model
8
+ extend T::Sig
9
+
10
+ fields(
11
+ ID: {
12
+ name: :id,
13
+ type: :Guid,
14
+ },
15
+ PurchaseID: {
16
+ name: :purchase_id,
17
+ type: :Guid,
18
+ },
19
+ TaskID: {
20
+ name: :task_id,
21
+ type: :Guid,
22
+ },
23
+ Reference: {
24
+ name: :reference,
25
+ type: :String,
26
+ },
27
+ Amount: {
28
+ name: :amount,
29
+ type: :BigDecimal,
30
+ },
31
+ DatePaid: {
32
+ name: :date_paid,
33
+ type: :DateTime,
34
+ },
35
+ Account: {
36
+ name: :account,
37
+ type: :String,
38
+ },
39
+ CurrencyRate: {
40
+ name: :currency_rate,
41
+ type: :BigDecimal,
42
+ },
43
+ DateCreated: {
44
+ name: :date_created,
45
+ type: :DateTime,
46
+ }
47
+ )
48
+ end
49
+ end
50
+ end
51
+ end