dear_inventory 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +7 -0
  2. data/.env.example +2 -0
  3. data/.gitignore +15 -0
  4. data/.rspec +5 -0
  5. data/.rubocop.yml +84 -0
  6. data/.travis.yml +7 -0
  7. data/CODE_OF_CONDUCT.md +74 -0
  8. data/Gemfile +6 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +69 -0
  11. data/Rakefile +8 -0
  12. data/bin/console +14 -0
  13. data/bin/setup +8 -0
  14. data/dear_inventory.gemspec +45 -0
  15. data/lib/dear_inventory.rb +79 -0
  16. data/lib/dear_inventory/config.rb +55 -0
  17. data/lib/dear_inventory/environment.rb +54 -0
  18. data/lib/dear_inventory/error.rb +16 -0
  19. data/lib/dear_inventory/errors/request.rb +40 -0
  20. data/lib/dear_inventory/errors/validation.rb +6 -0
  21. data/lib/dear_inventory/lib/date_time.rb +18 -0
  22. data/lib/dear_inventory/lib/endpoint_class.rb +57 -0
  23. data/lib/dear_inventory/lib/is_a_subclass.rb +19 -0
  24. data/lib/dear_inventory/model.rb +98 -0
  25. data/lib/dear_inventory/models/additional_attributes.rb +53 -0
  26. data/lib/dear_inventory/models/additional_charge.rb +45 -0
  27. data/lib/dear_inventory/models/address.rb +45 -0
  28. data/lib/dear_inventory/models/attachment.rb +33 -0
  29. data/lib/dear_inventory/models/inventory_movement.rb +29 -0
  30. data/lib/dear_inventory/models/sale.rb +217 -0
  31. data/lib/dear_inventory/models/sale_list.rb +133 -0
  32. data/lib/dear_inventory/models/sale_lists.rb +26 -0
  33. data/lib/dear_inventory/models/sales/credit_note.rb +75 -0
  34. data/lib/dear_inventory/models/sales/fulfilment.rb +46 -0
  35. data/lib/dear_inventory/models/sales/fulfilments/pick_pack.rb +26 -0
  36. data/lib/dear_inventory/models/sales/fulfilments/pick_pack_line.rb +57 -0
  37. data/lib/dear_inventory/models/sales/fulfilments/ship.rb +35 -0
  38. data/lib/dear_inventory/models/sales/fulfilments/ship_line.rb +45 -0
  39. data/lib/dear_inventory/models/sales/invoice.rb +86 -0
  40. data/lib/dear_inventory/models/sales/invoice_line.rb +19 -0
  41. data/lib/dear_inventory/models/sales/line.rb +59 -0
  42. data/lib/dear_inventory/models/sales/manual_journal.rb +24 -0
  43. data/lib/dear_inventory/models/sales/manual_journal_line.rb +35 -0
  44. data/lib/dear_inventory/models/sales/order.rb +49 -0
  45. data/lib/dear_inventory/models/sales/payment_line.rb +43 -0
  46. data/lib/dear_inventory/models/sales/quote.rb +50 -0
  47. data/lib/dear_inventory/models/shipping_address.rb +25 -0
  48. data/lib/dear_inventory/models/transaction.rb +41 -0
  49. data/lib/dear_inventory/parameters.rb +209 -0
  50. data/lib/dear_inventory/parameters/sale/index.rb +35 -0
  51. data/lib/dear_inventory/parameters/sale_list/index.rb +119 -0
  52. data/lib/dear_inventory/resource.rb +59 -0
  53. data/lib/dear_inventory/resources/sale.rb +22 -0
  54. data/lib/dear_inventory/resources/sale_list.rb +24 -0
  55. data/lib/dear_inventory/response.rb +75 -0
  56. data/lib/dear_inventory/validator.rb +61 -0
  57. data/lib/dear_inventory/validators/boolean.rb +18 -0
  58. data/lib/dear_inventory/validators/enum.rb +23 -0
  59. data/lib/dear_inventory/validators/guid.rb +27 -0
  60. data/lib/dear_inventory/validators/integer.rb +19 -0
  61. data/lib/dear_inventory/validators/required.rb +17 -0
  62. data/lib/dear_inventory/validators/string.rb +35 -0
  63. data/lib/dear_inventory/validators/time.rb +21 -0
  64. data/lib/dear_inventory/version.rb +6 -0
  65. data/sorbet/config +2 -0
  66. data/sorbet/rbi/gems/addressable.rbi +199 -0
  67. data/sorbet/rbi/gems/ast.rbi +48 -0
  68. data/sorbet/rbi/gems/byebug.rbi +1040 -0
  69. data/sorbet/rbi/gems/coderay.rbi +92 -0
  70. data/sorbet/rbi/gems/crack.rbi +48 -0
  71. data/sorbet/rbi/gems/domain_name.rbi +52 -0
  72. data/sorbet/rbi/gems/dotenv.rbi +68 -0
  73. data/sorbet/rbi/gems/ffi-compiler.rbi +27 -0
  74. data/sorbet/rbi/gems/ffi.rbi +560 -0
  75. data/sorbet/rbi/gems/hashdiff.rbi +66 -0
  76. data/sorbet/rbi/gems/http-cookie.rbi +93 -0
  77. data/sorbet/rbi/gems/http-form_data.rbi +76 -0
  78. data/sorbet/rbi/gems/http-parser.rbi +121 -0
  79. data/sorbet/rbi/gems/http.rbi +616 -0
  80. data/sorbet/rbi/gems/jaro_winkler.rbi +15 -0
  81. data/sorbet/rbi/gems/method_source.rbi +64 -0
  82. data/sorbet/rbi/gems/parallel.rbi +82 -0
  83. data/sorbet/rbi/gems/parser.rbi +857 -0
  84. data/sorbet/rbi/gems/pry-byebug.rbi +155 -0
  85. data/sorbet/rbi/gems/pry.rbi +1965 -0
  86. data/sorbet/rbi/gems/public_suffix.rbi +104 -0
  87. data/sorbet/rbi/gems/rainbow.rbi +118 -0
  88. data/sorbet/rbi/gems/rake.rbi +646 -0
  89. data/sorbet/rbi/gems/rspec-core.rbi +1732 -0
  90. data/sorbet/rbi/gems/rspec-expectations.rbi +388 -0
  91. data/sorbet/rbi/gems/rspec-mocks.rbi +820 -0
  92. data/sorbet/rbi/gems/rspec-support.rbi +269 -0
  93. data/sorbet/rbi/gems/rspec.rbi +15 -0
  94. data/sorbet/rbi/gems/rubocop-performance.rbi +277 -0
  95. data/sorbet/rbi/gems/rubocop-rspec.rbi +887 -0
  96. data/sorbet/rbi/gems/rubocop.rbi +6952 -0
  97. data/sorbet/rbi/gems/ruby-progressbar.rbi +305 -0
  98. data/sorbet/rbi/gems/unf.rbi +19 -0
  99. data/sorbet/rbi/gems/unicode-display_width.rbi +17 -0
  100. data/sorbet/rbi/gems/vcr.rbi +572 -0
  101. data/sorbet/rbi/gems/webmock.rbi +569 -0
  102. data/sorbet/rbi/hidden-definitions/errors.txt +11809 -0
  103. data/sorbet/rbi/hidden-definitions/hidden.rbi +20627 -0
  104. data/sorbet/rbi/sorbet-typed/lib/bundler/all/bundler.rbi +8684 -0
  105. data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +276 -0
  106. data/sorbet/rbi/sorbet-typed/lib/ruby/all/gem.rbi +4222 -0
  107. data/sorbet/rbi/sorbet-typed/lib/ruby/all/open3.rbi +111 -0
  108. data/sorbet/rbi/sorbet-typed/lib/ruby/all/resolv.rbi +543 -0
  109. data/sorbet/rbi/todo.rbi +11 -0
  110. metadata +339 -0
@@ -0,0 +1,26 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class SaleLists < 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
+ SaleList: {
19
+ name: :sale_list,
20
+ type: :Array,
21
+ model: DearInventory::Models::SaleList,
22
+ },
23
+ })
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,75 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ module Sales
7
+ class CreditNote < DearInventory::Model
8
+ extend T::Sig
9
+
10
+ fields({
11
+ TaskID: {
12
+ name: :task_id,
13
+ type: :Guid,
14
+ },
15
+ CreditNoteInvoiceNumber: {
16
+ name: :credit_note_invoice_number,
17
+ type: :String,
18
+ },
19
+ Memo: {
20
+ name: :memo,
21
+ type: :String,
22
+ },
23
+ Status: {
24
+ name: :status,
25
+ type: :String,
26
+ },
27
+ CreditNoteDate: {
28
+ name: :credit_note_date,
29
+ type: :DateTime,
30
+ },
31
+ CreditNoteNumber: {
32
+ name: :credit_note_number,
33
+ type: :String,
34
+ },
35
+ CreditNoteConversionRate: {
36
+ name: :credit_note_conversion_rate,
37
+ type: :Numeric,
38
+ },
39
+ Lines: {
40
+ name: :lines,
41
+ type: :Array,
42
+ model: DearInventory::Models::Sales::InvoiceLine,
43
+ },
44
+ AdditionalCharges: {
45
+ name: :additional_charges,
46
+ type: :Array,
47
+ model: DearInventory::Models::AdditionalCharge,
48
+ },
49
+ Refunds: {
50
+ name: :refunds,
51
+ type: :Array,
52
+ model: DearInventory::Models::Sales::PaymentLine,
53
+ },
54
+ Restock: {
55
+ name: :restock,
56
+ type: :Array,
57
+ model: DearInventory::Models::Sales::Fulfilments::PickPackLine,
58
+ },
59
+ TotalBeforeTax: {
60
+ name: :total_before_tax,
61
+ type: :Numeric,
62
+ },
63
+ Tax: {
64
+ name: :tax,
65
+ type: :Numeric,
66
+ },
67
+ Total: {
68
+ name: :total,
69
+ type: :Numeric,
70
+ },
71
+ })
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,46 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ module Sales
7
+ class Fulfilment < DearInventory::Model
8
+ extend T::Sig
9
+
10
+ fields({
11
+ TaskID: {
12
+ name: :task_id,
13
+ type: :Guid,
14
+ },
15
+ FulfillmentNumber: {
16
+ name: :fulfillment_number,
17
+ type: :Numeric,
18
+ },
19
+ LinkedInvoiceNumber: {
20
+ name: :linked_invoice_number,
21
+ type: :String,
22
+ },
23
+ FulFilmentStatus: {
24
+ name: :fulfilment_status,
25
+ type: :String,
26
+ },
27
+ Pick: {
28
+ name: :pick,
29
+ type: :Hash,
30
+ model: DearInventory::Models::Sales::Fulfilments::PickPack,
31
+ },
32
+ Pack: {
33
+ name: :pack,
34
+ type: :Hash,
35
+ model: DearInventory::Models::Sales::Fulfilments::PickPack,
36
+ },
37
+ Ship: {
38
+ name: :ship,
39
+ type: :Hash,
40
+ model: DearInventory::Models::Sales::Fulfilments::Ship,
41
+ },
42
+ })
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,26 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ module Sales
7
+ class Fulfilments
8
+ class PickPack < DearInventory::Model
9
+ extend T::Sig
10
+
11
+ fields({
12
+ Status: {
13
+ name: :status,
14
+ type: :String,
15
+ },
16
+ Lines: {
17
+ name: :lines,
18
+ type: :Array,
19
+ model: DearInventory::Models::Sales::Fulfilments::PickPackLine,
20
+ },
21
+ })
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,57 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ module Sales
7
+ class Fulfilments
8
+ class PickPackLine < DearInventory::Model
9
+ extend T::Sig
10
+
11
+ fields({
12
+ ProductID: {
13
+ name: :product_id,
14
+ type: :Guid,
15
+ },
16
+ SKU: {
17
+ name: :sku,
18
+ type: :String,
19
+ },
20
+ Name: {
21
+ name: :name,
22
+ type: :String,
23
+ },
24
+ Location: {
25
+ name: :location,
26
+ type: :String,
27
+ },
28
+ LocationID: {
29
+ name: :location_id,
30
+ type: :Guid,
31
+ },
32
+ Quantity: {
33
+ name: :quantity,
34
+ type: :Numeric,
35
+ },
36
+ BatchSN: {
37
+ name: :batch_sn,
38
+ type: :String,
39
+ },
40
+ ExpiryDate: {
41
+ name: :expiry_date,
42
+ type: :DateTime,
43
+ },
44
+ Box: {
45
+ name: :box,
46
+ type: :String,
47
+ },
48
+ WarrantyRegistrationNumber: {
49
+ name: :warranty_registration_number,
50
+ type: :String,
51
+ },
52
+ })
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,35 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ module Sales
7
+ class Fulfilments
8
+ class Ship < DearInventory::Model
9
+ extend T::Sig
10
+
11
+ fields({
12
+ Status: {
13
+ name: :status,
14
+ type: :String,
15
+ },
16
+ RequireBy: {
17
+ name: :require_by,
18
+ type: :Date,
19
+ },
20
+ ShippingAddress: {
21
+ name: :status,
22
+ type: :Hash,
23
+ model: DearInventory::Models::ShippingAddress
24
+ },
25
+ Lines: {
26
+ name: :lines,
27
+ type: :Array,
28
+ model: DearInventory::Models::Sales::Fulfilments::ShipLine,
29
+ },
30
+ })
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,45 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ module Sales
7
+ class Fulfilments
8
+ class ShipLine < DearInventory::Model
9
+ extend T::Sig
10
+
11
+ fields({
12
+ ID: {
13
+ name: :id,
14
+ type: :Guid,
15
+ },
16
+ ShipmentDate: {
17
+ name: :shipment_date,
18
+ type: :DateTime,
19
+ },
20
+ Carrier: {
21
+ name: :carrier,
22
+ type: :String,
23
+ },
24
+ Boxes: {
25
+ name: :boxes,
26
+ type: :String,
27
+ },
28
+ TrackingNumber: {
29
+ name: :tracking_number,
30
+ type: :String,
31
+ },
32
+ TrackingURL: {
33
+ name: :tracking_url,
34
+ type: :String,
35
+ },
36
+ IsShipped: {
37
+ name: :is_shipped,
38
+ type: :Boolean,
39
+ },
40
+ })
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,86 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ module Sales
7
+ class Invoice < DearInventory::Model
8
+ extend T::Sig
9
+
10
+ fields({
11
+ TaskID: {
12
+ name: :task_id,
13
+ type: :Guid,
14
+ },
15
+ InvoiceNumber: {
16
+ name: :invoice_number,
17
+ type: :String,
18
+ },
19
+ Memo: {
20
+ name: :memo,
21
+ type: :String,
22
+ },
23
+ Status: {
24
+ name: :status,
25
+ type: :String,
26
+ },
27
+ InvoiceDate: {
28
+ name: :invoice_date,
29
+ type: :DateTime,
30
+ },
31
+ InvoiceDueDate: {
32
+ name: :invoice_due_date,
33
+ type: :DateTime,
34
+ },
35
+ CurrencyConversionRate: {
36
+ name: :currency_conversion_rate,
37
+ type: :Numeric,
38
+ },
39
+ BillingAddressLine1: {
40
+ name: :billing_address_line_1,
41
+ type: :String,
42
+ },
43
+ BillingAddressLine2: {
44
+ name: :billing_address_line_2,
45
+ type: :String,
46
+ },
47
+ LinkedFulfillmentNumber: {
48
+ name: :linked_fulfillment_number,
49
+ type: :Numeric,
50
+ },
51
+ Lines: {
52
+ name: :lines,
53
+ type: :Array,
54
+ model: DearInventory::Models::Sales::InvoiceLine,
55
+ },
56
+ AdditionalCharges: {
57
+ name: :additional_charges,
58
+ type: :Array,
59
+ model: DearInventory::Models::AdditionalCharge,
60
+ },
61
+ Payments: {
62
+ name: :payments,
63
+ type: :Array,
64
+ model: DearInventory::Models::Sales::PaymentLine,
65
+ },
66
+ TotalBeforeTax: {
67
+ name: :total_before_tax,
68
+ type: :Numeric,
69
+ },
70
+ Tax: {
71
+ name: :tax,
72
+ type: :Numeric,
73
+ },
74
+ Total: {
75
+ name: :total,
76
+ type: :Numeric,
77
+ },
78
+ Paid: {
79
+ name: :paid,
80
+ type: :Numeric,
81
+ },
82
+ })
83
+ end
84
+ end
85
+ end
86
+ 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 InvoiceLine < Line
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
@@ -0,0 +1,59 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ module Sales
7
+ class Line < DearInventory::Model
8
+ extend T::Sig
9
+
10
+ fields({
11
+ ProductID: {
12
+ name: :product_id,
13
+ type: :Guid,
14
+ },
15
+ SKU: {
16
+ name: :sku,
17
+ type: :String,
18
+ },
19
+ Name: {
20
+ name: :name,
21
+ type: :String,
22
+ },
23
+ Quantity: {
24
+ name: :quantity,
25
+ type: :Numeric,
26
+ },
27
+ Price: {
28
+ name: :price,
29
+ type: :Numeric,
30
+ },
31
+ Discount: {
32
+ name: :discount,
33
+ type: :Numeric,
34
+ },
35
+ Tax: {
36
+ name: :tax,
37
+ type: :Numeric,
38
+ },
39
+ AverageCost: {
40
+ name: :average_cost,
41
+ type: :Numeric,
42
+ },
43
+ TaxRule: {
44
+ name: :tax_rule,
45
+ type: :String,
46
+ },
47
+ Comment: {
48
+ name: :comment,
49
+ type: :String,
50
+ },
51
+ Total: {
52
+ name: :total,
53
+ type: :Numeric,
54
+ },
55
+ })
56
+ end
57
+ end
58
+ end
59
+ end