erp_integration 0.33.0 → 0.35.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.
- checksums.yaml +4 -4
- data/.rubocop.yml +2 -0
- data/lib/erp_integration/configuration.rb +18 -0
- data/lib/erp_integration/fulfil/resources/stock_bin_transfer.rb +59 -0
- data/lib/erp_integration/fulfil/resources/task.rb +13 -0
- data/lib/erp_integration/stock_bin_transfer.rb +20 -0
- data/lib/erp_integration/task.rb +11 -0
- data/lib/erp_integration/version.rb +1 -1
- data/lib/erp_integration.rb +2 -0
- metadata +11 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4bf1b8a88038684ef2a0192d9980e29c13fa8c5b2ea5078478d47db28fe6d050
|
|
4
|
+
data.tar.gz: e5e37d4c3c39647d1a1118a946f0e1808eaffa2a60b373e4a681f5942f48afce
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d23ae16ce5d712adf1ecb1ae6af31feaf29d773214281546902cc641496e89894fbac35ce3a6da05cd2248ca1b674e589ea3be62114112d32b77933dc3df3465
|
|
7
|
+
data.tar.gz: 6990bf1cacbf87418692ca4ed5b2b63b16e181f4e35b94de5843a5c3b661a5cad55603809318098c23aaada1ba778bb0e5009d49e443a31ea5fff3a9d58ed858
|
data/.rubocop.yml
CHANGED
|
@@ -97,11 +97,21 @@ module ErpIntegration
|
|
|
97
97
|
# @return [Symbol] The configured adapter for the supplier shipment.
|
|
98
98
|
attr_writer :supplier_shipment_adapter
|
|
99
99
|
|
|
100
|
+
# Allows configuring an adapter for the `StockBinTransfer` resource. When
|
|
101
|
+
# none is configured, it will default to Fulfil.
|
|
102
|
+
# @return [Symbol] The configured adapter for the stock bin transfer.
|
|
103
|
+
attr_writer :stock_bin_transfer_adapter
|
|
104
|
+
|
|
100
105
|
# Allows configuring an adapter for the `StockMove` resource. When
|
|
101
106
|
# none is configured, it will default to Fulfil.
|
|
102
107
|
# @return [Symbol] The configured adapter for the stock move.
|
|
103
108
|
attr_writer :stock_move_adapter
|
|
104
109
|
|
|
110
|
+
# Allows configuring an adapter for the `Task` resource. When
|
|
111
|
+
# none is configured, it will default to Fulfil.
|
|
112
|
+
# @return [Symbol] The configured adapter for the task.
|
|
113
|
+
attr_writer :task_adapter
|
|
114
|
+
|
|
105
115
|
# Allows configuring an adapter for the `TrackingNumber` resource. When
|
|
106
116
|
# none is configured, it will default to Fulfil.
|
|
107
117
|
# @return [Symbol] The configured adapter for the tracking number.
|
|
@@ -194,10 +204,18 @@ module ErpIntegration
|
|
|
194
204
|
@supplier_shipment_adapter || :fulfil
|
|
195
205
|
end
|
|
196
206
|
|
|
207
|
+
def stock_bin_transfer_adapter
|
|
208
|
+
@stock_bin_transfer_adapter || :fulfil
|
|
209
|
+
end
|
|
210
|
+
|
|
197
211
|
def stock_move_adapter
|
|
198
212
|
@stock_move_adapter || :fulfil
|
|
199
213
|
end
|
|
200
214
|
|
|
215
|
+
def task_adapter
|
|
216
|
+
@task_adapter || :fulfil
|
|
217
|
+
end
|
|
218
|
+
|
|
201
219
|
def tracking_number_adapter
|
|
202
220
|
@tracking_number_adapter || :fulfil
|
|
203
221
|
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative '../api_resource'
|
|
4
|
+
|
|
5
|
+
module ErpIntegration
|
|
6
|
+
module Fulfil
|
|
7
|
+
module Resources
|
|
8
|
+
class StockBinTransfer < ApiResource
|
|
9
|
+
self.model_name = 'stock.bin_transfer'
|
|
10
|
+
|
|
11
|
+
# Allows bulk force assign bin transfers over the API to move assigned
|
|
12
|
+
# inventory to the new bin location.
|
|
13
|
+
# @param id [Integer|String] The ID of the stock bin transfer.
|
|
14
|
+
# @return [boolean] Whether the stock bin transfer was assigned force successfully or not.
|
|
15
|
+
def assign_force(id)
|
|
16
|
+
client.put("model/stock.bin_transfer/#{id}/assign_force")
|
|
17
|
+
true
|
|
18
|
+
|
|
19
|
+
# Fulfil will return an 400 (a.k.a. "Bad Request") status code when a bin trasfer couldn't
|
|
20
|
+
# be done. If a bit trasfer isn't assignable by design, no exception should be raised.
|
|
21
|
+
#
|
|
22
|
+
# See the Fulfil's documentation for more information:
|
|
23
|
+
# https://developers.fulfil.io/rest_api/model/stock.bin_transfer/#force-allocate-inventory-to-the-transfer
|
|
24
|
+
rescue ErpIntegration::HttpError::BadRequest
|
|
25
|
+
false
|
|
26
|
+
# Workaround: Fulfil api does not return a json when status code is 200 (a.k.a. "Ok")
|
|
27
|
+
# and faraday is having an error when trying to parse it. Let's skip the parse error
|
|
28
|
+
# and move on.
|
|
29
|
+
rescue Faraday::ParsingError
|
|
30
|
+
true
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Allows bulk mark the bin transfers as done over the API to finish
|
|
34
|
+
# moving the inventory to the new bin location.
|
|
35
|
+
# It is better practice for inventory accuracy to mark the bin transfer
|
|
36
|
+
# as done once the inventory is physically moved to the new location.
|
|
37
|
+
# @param id [Integer|String] The ID of the stock bin transfer.
|
|
38
|
+
# @return [boolean] Whether the stock bin transfer was mark as done successfully or not.
|
|
39
|
+
def done(id)
|
|
40
|
+
client.put("model/stock.bin_transfer/#{id}/done")
|
|
41
|
+
true
|
|
42
|
+
|
|
43
|
+
# Fulfil will return an 400 (a.k.a. "Bad Request") status code when a bin trasfer couldn't
|
|
44
|
+
# be done. If a bit trasfer isn't doneable by design, no exception should be raised.
|
|
45
|
+
#
|
|
46
|
+
# See the Fulfil's documentation for more information:
|
|
47
|
+
# https://developers.fulfil.io/rest_api/model/stock.bin_transfer/#mark-transfer-as-done
|
|
48
|
+
rescue ErpIntegration::HttpError::BadRequest
|
|
49
|
+
false
|
|
50
|
+
# Workaround: Fulfil api does not return a json when status code is 200 (a.k.a. "Ok")
|
|
51
|
+
# and faraday is having an error when trying to parse it. Let's skip the parse error
|
|
52
|
+
# and move on.
|
|
53
|
+
rescue Faraday::ParsingError
|
|
54
|
+
true
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ErpIntegration
|
|
4
|
+
class StockBinTransfer < Resource
|
|
5
|
+
attr_accessor :id, :attachments, :company, :create_date, :create_uid,
|
|
6
|
+
:description, :effective_date, :messages, :metadata,
|
|
7
|
+
:metafields, :moves, :number, :origin, :picker, :priority,
|
|
8
|
+
:picking_status, :planned_date, :private_notes, :public_notes,
|
|
9
|
+
:quantity_total, :rec_blurb, :rec_name, :reference, :state,
|
|
10
|
+
:storage_zone, :warehouse, :write_date, :write_uid
|
|
11
|
+
|
|
12
|
+
def assign_force
|
|
13
|
+
self.class.adapter.assign_force(id)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def done
|
|
17
|
+
self.class.adapter.done(id)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ErpIntegration
|
|
4
|
+
class Task < Resource
|
|
5
|
+
attr_accessor :id, :attachments, :batch, :create_date, :create_uid,
|
|
6
|
+
:customer_shipment, :done_at, :messages, :metadata, :metafields,
|
|
7
|
+
:name, :operation, :origin, :owner, :private_notes, :public_notes,
|
|
8
|
+
:rec_blurb, :rec_name, :requester, :started_at, :state, :stock_move,
|
|
9
|
+
:template, :type, :write_date, :write_uid
|
|
10
|
+
end
|
|
11
|
+
end
|
data/lib/erp_integration.rb
CHANGED
|
@@ -39,8 +39,10 @@ module ErpIntegration
|
|
|
39
39
|
autoload :SalesOrder, 'erp_integration/sales_order'
|
|
40
40
|
autoload :SalesOrderLine, 'erp_integration/sales_order_line'
|
|
41
41
|
autoload :SalesReturnReason, 'erp_integration/sales_return_reason'
|
|
42
|
+
autoload :StockBinTransfer, 'erp_integration/stock_bin_transfer'
|
|
42
43
|
autoload :StockMove, 'erp_integration/stock_move'
|
|
43
44
|
autoload :SupplierShipment, 'erp_integration/supplier_shipment'
|
|
45
|
+
autoload :Task, 'erp_integration/task'
|
|
44
46
|
autoload :TrackingNumber, 'erp_integration/tracking_number'
|
|
45
47
|
autoload :Webhook, 'erp_integration/webhook'
|
|
46
48
|
autoload :GiftCard, 'erp_integration/gift_card'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: erp_integration
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.35.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Stefan Vermaas
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-
|
|
11
|
+
date: 2023-06-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -224,7 +224,7 @@ dependencies:
|
|
|
224
224
|
- - '='
|
|
225
225
|
- !ruby/object:Gem::Version
|
|
226
226
|
version: 1.19.2
|
|
227
|
-
description:
|
|
227
|
+
description:
|
|
228
228
|
email:
|
|
229
229
|
- stefan@knowndecimal.com
|
|
230
230
|
executables: []
|
|
@@ -297,8 +297,10 @@ files:
|
|
|
297
297
|
- lib/erp_integration/fulfil/resources/sales_order.rb
|
|
298
298
|
- lib/erp_integration/fulfil/resources/sales_order_line.rb
|
|
299
299
|
- lib/erp_integration/fulfil/resources/sales_return_reason.rb
|
|
300
|
+
- lib/erp_integration/fulfil/resources/stock_bin_transfer.rb
|
|
300
301
|
- lib/erp_integration/fulfil/resources/stock_move.rb
|
|
301
302
|
- lib/erp_integration/fulfil/resources/supplier_shipment.rb
|
|
303
|
+
- lib/erp_integration/fulfil/resources/task.rb
|
|
302
304
|
- lib/erp_integration/fulfil/resources/tracking_number.rb
|
|
303
305
|
- lib/erp_integration/fulfil/resources/webhook.rb
|
|
304
306
|
- lib/erp_integration/fulfil/where_clause.rb
|
|
@@ -316,8 +318,10 @@ files:
|
|
|
316
318
|
- lib/erp_integration/sales_order.rb
|
|
317
319
|
- lib/erp_integration/sales_order_line.rb
|
|
318
320
|
- lib/erp_integration/sales_return_reason.rb
|
|
321
|
+
- lib/erp_integration/stock_bin_transfer.rb
|
|
319
322
|
- lib/erp_integration/stock_move.rb
|
|
320
323
|
- lib/erp_integration/supplier_shipment.rb
|
|
324
|
+
- lib/erp_integration/task.rb
|
|
321
325
|
- lib/erp_integration/tracking_number.rb
|
|
322
326
|
- lib/erp_integration/types/decimal.rb
|
|
323
327
|
- lib/erp_integration/version.rb
|
|
@@ -330,7 +334,7 @@ metadata:
|
|
|
330
334
|
homepage_uri: https://www.github.com/mejuri-inc/erp-integration
|
|
331
335
|
source_code_uri: https://www.github.com/mejuri-inc/erp-integration
|
|
332
336
|
changelog_uri: https://www.github.com/mejuri-inc/erp-integration/blob/main/CHANGELOG.md
|
|
333
|
-
post_install_message:
|
|
337
|
+
post_install_message:
|
|
334
338
|
rdoc_options: []
|
|
335
339
|
require_paths:
|
|
336
340
|
- lib
|
|
@@ -345,8 +349,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
345
349
|
- !ruby/object:Gem::Version
|
|
346
350
|
version: '0'
|
|
347
351
|
requirements: []
|
|
348
|
-
rubygems_version: 3.3
|
|
349
|
-
signing_key:
|
|
352
|
+
rubygems_version: 3.2.3
|
|
353
|
+
signing_key:
|
|
350
354
|
specification_version: 4
|
|
351
355
|
summary: Connects Mejuri with third-party ERP vendors
|
|
352
356
|
test_files: []
|