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,45 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Address < DearInventory::Model
7
+ extend T::Sig
8
+
9
+ fields({
10
+ DisplayAddressLine1: {
11
+ name: :display_address_line_1,
12
+ type: :String,
13
+ },
14
+ DisplayAddressLine2: {
15
+ name: :display_address_line_2,
16
+ type: :String,
17
+ },
18
+ Line1: {
19
+ name: :line_1,
20
+ type: :String,
21
+ },
22
+ Line2: {
23
+ name: :line_2,
24
+ type: :String,
25
+ },
26
+ City: {
27
+ name: :city,
28
+ type: :String,
29
+ },
30
+ State: {
31
+ name: :state,
32
+ type: :String,
33
+ },
34
+ Postcode: {
35
+ name: :postcode,
36
+ type: :String,
37
+ },
38
+ Country: {
39
+ name: :country,
40
+ type: :String,
41
+ },
42
+ })
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,33 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Attachment < DearInventory::Model
7
+ extend T::Sig
8
+
9
+ fields({
10
+ ID: {
11
+ name: :id,
12
+ type: :Guid,
13
+ },
14
+ ContentType: {
15
+ name: :content_type,
16
+ type: :String,
17
+ },
18
+ IsDefault: {
19
+ name: :is_default,
20
+ type: :Boolean,
21
+ },
22
+ FileName: {
23
+ name: :file_name,
24
+ type: :String,
25
+ },
26
+ DownloadUrl: {
27
+ name: :download_url,
28
+ type: :String,
29
+ },
30
+ })
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,29 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class InventoryMovement < DearInventory::Model
7
+ extend T::Sig
8
+
9
+ fields({
10
+ TaskID: {
11
+ name: :task_id,
12
+ type: :Guid,
13
+ },
14
+ ProductID: {
15
+ name: :product_id,
16
+ type: :Guid,
17
+ },
18
+ Date: {
19
+ name: :date,
20
+ type: :DateTime,
21
+ },
22
+ COGS: {
23
+ name: :cogs,
24
+ type: :Numeric,
25
+ },
26
+ })
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,217 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Sale < DearInventory::Model
7
+ extend T::Sig
8
+
9
+ fields({
10
+ ID: {
11
+ name: :id,
12
+ type: :Guid,
13
+ },
14
+ Customer: {
15
+ name: :customer,
16
+ type: :String,
17
+ },
18
+ CustomerID: {
19
+ name: :customer_id,
20
+ type: :Guid,
21
+ },
22
+ Contact: {
23
+ name: :contact,
24
+ type: :String,
25
+ },
26
+ Phone: {
27
+ name: :phone,
28
+ type: :String,
29
+ },
30
+ Email: {
31
+ name: :email,
32
+ type: :String,
33
+ },
34
+ DefaultAccount: {
35
+ name: :default_account,
36
+ type: :String,
37
+ },
38
+ SkipQuote: {
39
+ name: :skip_quote,
40
+ type: :Boolean,
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::ShippingAddress,
51
+ },
52
+ BaseCurrency: {
53
+ name: :base_currency,
54
+ type: :String,
55
+ },
56
+ CustomerCurrency: {
57
+ name: :customer_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
+ PriceTier: {
73
+ name: :price_tier,
74
+ type: :String,
75
+ },
76
+ ShipBy: {
77
+ name: :ship_by,
78
+ type: :Date,
79
+ },
80
+ Location: {
81
+ name: :location,
82
+ type: :String,
83
+ },
84
+ SaleOrderDate: {
85
+ name: :sale_order_date,
86
+ type: :Date,
87
+ },
88
+ LastModifiedOn: {
89
+ name: :last_modified_on,
90
+ type: :DateTime,
91
+ },
92
+ Note: {
93
+ name: :note,
94
+ type: :String,
95
+ },
96
+ CustomerReference: {
97
+ name: :customer_reference,
98
+ type: :String,
99
+ },
100
+ COGSAmount: {
101
+ name: :cogs_amount,
102
+ type: :Numeric,
103
+ },
104
+ Status: {
105
+ name: :status,
106
+ type: :String,
107
+ },
108
+ CombinedPickingStatus: {
109
+ name: :combined_picking_status,
110
+ type: :String,
111
+ },
112
+ CombinedPackingStatus: {
113
+ name: :combined_packing_status,
114
+ type: :String,
115
+ },
116
+ CombinedShippingStatus: {
117
+ name: :combined_shipping_status,
118
+ type: :String,
119
+ },
120
+ FulFilmentStatus: {
121
+ name: :fulfilment_status,
122
+ type: :String,
123
+ },
124
+ CombinedInvoiceStatus: {
125
+ name: :combined_invoice_status,
126
+ type: :String,
127
+ },
128
+ CombinedPaymentStatus: {
129
+ name: :combined_payment_status,
130
+ type: :String,
131
+ },
132
+ CombinedTrackingNumbers: {
133
+ name: :combined_tracking_numbers,
134
+ type: :String,
135
+ },
136
+ Carrier: {
137
+ name: :carrier,
138
+ type: :String,
139
+ },
140
+ CurrencyRate: {
141
+ name: :currency_rate,
142
+ type: :Numeric,
143
+ },
144
+ SalesRepresentative: {
145
+ name: :sales_representative,
146
+ type: :String,
147
+ },
148
+ Type: {
149
+ name: :type,
150
+ type: :String,
151
+ },
152
+ SourceChannel: {
153
+ name: :source_channel,
154
+ type: :String,
155
+ },
156
+ ExternalID: {
157
+ name: :external_id,
158
+ type: :String,
159
+ },
160
+ ServiceOnly: {
161
+ name: :service_only,
162
+ type: :Boolean,
163
+ },
164
+ Quote: {
165
+ name: :quote,
166
+ type: :Hash,
167
+ model: DearInventory::Models::Sales::Quote,
168
+ },
169
+ Order: {
170
+ name: :order,
171
+ type: :Hash,
172
+ model: DearInventory::Models::Sales::Order,
173
+ },
174
+ Fulfilments: {
175
+ name: :fulfilments,
176
+ type: :Array,
177
+ model: DearInventory::Models::Sales::Fulfilment,
178
+ },
179
+ Invoices: {
180
+ name: :invoices,
181
+ type: :Array,
182
+ model: DearInventory::Models::Sales::Invoice,
183
+ },
184
+ CreditNotes: {
185
+ name: :credit_notes,
186
+ type: :Array,
187
+ model: DearInventory::Models::Sales::CreditNote,
188
+ },
189
+ ManualJournals: {
190
+ name: :manual_journals,
191
+ type: :Hash,
192
+ model: DearInventory::Models::Sales::ManualJournal,
193
+ },
194
+ AdditionalAttributes: {
195
+ name: :additional_attributes,
196
+ type: :Hash,
197
+ model: DearInventory::Models::AdditionalAttributes,
198
+ },
199
+ Attachments: {
200
+ name: :attachments,
201
+ type: :Array,
202
+ model: DearInventory::Models::Attachment,
203
+ },
204
+ InventoryMovements: {
205
+ name: :inventory_movements,
206
+ type: :Array,
207
+ model: DearInventory::Models::InventoryMovement,
208
+ },
209
+ Transactions: {
210
+ name: :transactions,
211
+ type: :Array,
212
+ model: DearInventory::Models::InventoryMovement,
213
+ },
214
+ })
215
+ end
216
+ end
217
+ end
@@ -0,0 +1,133 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class SaleList < DearInventory::Model
7
+ extend T::Sig
8
+
9
+ fields({
10
+ SaleID: {
11
+ name: :id,
12
+ type: :Guid,
13
+ },
14
+ Customer: {
15
+ name: :customer,
16
+ type: :String,
17
+ },
18
+ CustomerID: {
19
+ name: :customer_id,
20
+ type: :Guid,
21
+ },
22
+ CustomerReference: {
23
+ name: :customer_reference,
24
+ type: :String,
25
+ },
26
+ InvoiceAmount: {
27
+ name: :invoice_amount,
28
+ type: :Float,
29
+ },
30
+ InvoiceDate: {
31
+ name: :invoice_date,
32
+ type: :DateTime,
33
+ },
34
+ InvoiceNumber: {
35
+ name: :invoice_number,
36
+ type: :String,
37
+ },
38
+ OrderDate: {
39
+ name: :order_date,
40
+ type: :DateTime,
41
+ },
42
+ OrderNumber: {
43
+ name: :order_number,
44
+ type: :String,
45
+ },
46
+ Status: {
47
+ name: :status,
48
+ type: :String,
49
+ },
50
+ PaidAmount: {
51
+ name: :paid_amount,
52
+ type: :Float,
53
+ },
54
+ InvoiceDueDate: {
55
+ name: :invoice_due_date,
56
+ type: :DateTime,
57
+ },
58
+ ShipBy: {
59
+ name: :ship_by,
60
+ type: :DateTime,
61
+ },
62
+ BaseCurrency: {
63
+ name: :base_currency,
64
+ type: :String,
65
+ },
66
+ CustomerCurrency: {
67
+ name: :customer_currency,
68
+ type: :String,
69
+ },
70
+ CreditNoteNumber: {
71
+ name: :credit_note_number,
72
+ type: :String,
73
+ },
74
+ Updated: {
75
+ name: :updated,
76
+ type: :DateTime,
77
+ },
78
+ QuoteStatus: {
79
+ name: :quote_status,
80
+ type: :String,
81
+ },
82
+ OrderStatus: {
83
+ name: :order_status,
84
+ type: :String,
85
+ },
86
+ CombinedPickingStatus: {
87
+ name: :combined_picking_status,
88
+ type: :String,
89
+ },
90
+ CombinedPackingStatus: {
91
+ name: :combined_packing_status,
92
+ type: :String,
93
+ },
94
+ CombinedShippingStatus: {
95
+ name: :combined_shipping_status,
96
+ type: :String,
97
+ },
98
+ FulFilmentStatus: {
99
+ name: :fulfilment_status,
100
+ type: :String,
101
+ },
102
+ CombinedInvoiceStatus: {
103
+ name: :combined_invoice_status,
104
+ type: :String,
105
+ },
106
+ CreditNoteStatus: {
107
+ name: :credit_note_status,
108
+ type: :String,
109
+ },
110
+ CombinedPaymentStatus: {
111
+ name: :combined_payment_status,
112
+ type: :String,
113
+ },
114
+ Type: {
115
+ name: :type,
116
+ type: :String,
117
+ },
118
+ CombinedTrackingNumbers: {
119
+ name: :combined_tracking_numbers,
120
+ type: :String,
121
+ },
122
+ SourceChannel: {
123
+ name: :source_channel,
124
+ type: :String,
125
+ },
126
+ ExternalID: {
127
+ name: :external_id,
128
+ type: :String,
129
+ },
130
+ })
131
+ end
132
+ end
133
+ end