erp_integration 0.37.0 → 0.39.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/erp_integration.gemspec +1 -1
- data/lib/erp_integration/configuration.rb +9 -0
- data/lib/erp_integration/fulfil/resources/location.rb +13 -0
- data/lib/erp_integration/fulfil/resources/product.rb +38 -0
- data/lib/erp_integration/location.rb +9 -0
- data/lib/erp_integration/version.rb +1 -1
- data/lib/erp_integration.rb +1 -0
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 709cbaf0b59e08e696e7f05fb8671b544f69219f8cf0644610fd98080ffe3f7f
|
4
|
+
data.tar.gz: 2dc9273ef654f8438e26ee303f558ceca15272a7996ab22eadfe25eaf46648b8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3417589709fbe3b803a12bf06f25fb2a0f01434d5d8bac0cef9f802a8f675b486f2bb8eb8cb93168a974d43d5917b5917a8b045bdffac4ac49433ac7813f418e
|
7
|
+
data.tar.gz: 54509ad8bf29d1bbc8e4a1441dc75de1e78e33546047c64eacb321d7c8e72fd8d4753f2809d6667f6b3742c03b9f224f0fc8aac58ce47dde21b237d32e56acbc
|
data/erp_integration.gemspec
CHANGED
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
|
|
29
29
|
spec.require_paths = ['lib']
|
30
30
|
|
31
31
|
# ActiveSupport is used for extended support of String inflections.
|
32
|
-
spec.add_dependency 'activesupport', '>=
|
32
|
+
spec.add_dependency 'activesupport', '>= 4.1.16'
|
33
33
|
|
34
34
|
# Faraday is a HTTP/REST API client library to interact with third-party API vendors
|
35
35
|
spec.add_dependency 'faraday', '>= 0.17.3', '< 1.9.0'
|
@@ -52,6 +52,11 @@ module ErpIntegration
|
|
52
52
|
# @return [Symbol] The configured adapter for the customer shipment.
|
53
53
|
attr_writer :customer_shipment_return_adapter
|
54
54
|
|
55
|
+
# Allows configuring an adapter for the `Location` resource. When
|
56
|
+
# none is configured, it will default to Fulfil.
|
57
|
+
# @return [Symbol] The configured adapter for the location.
|
58
|
+
attr_writer :location_adapter
|
59
|
+
|
55
60
|
# Allows configuring an adapter for the `Product` resource. When none is
|
56
61
|
# configured, it will default to Fulfil.
|
57
62
|
# @return [Symbol] The configured adapter for the products.
|
@@ -178,6 +183,10 @@ module ErpIntegration
|
|
178
183
|
@customer_shipment_return_adapter || :fulfil
|
179
184
|
end
|
180
185
|
|
186
|
+
def location_adapter
|
187
|
+
@location_adapter || :fulfil
|
188
|
+
end
|
189
|
+
|
181
190
|
def product_adapter
|
182
191
|
@product_adapter || :fulfil
|
183
192
|
end
|
@@ -15,6 +15,44 @@ module ErpIntegration
|
|
15
15
|
select(:boms).find_by!(code: sku).boms.any?
|
16
16
|
end
|
17
17
|
alias billing_of_materials? bom?
|
18
|
+
|
19
|
+
# https://developers.fulfil.io/rest_api/model/product.product/#add-product-images
|
20
|
+
# If you have your product images hosted not on Fulfil, you can use this endpoint to add the media in Fulfil
|
21
|
+
# to a product.
|
22
|
+
# The method expects a list of objects when making the request:
|
23
|
+
#
|
24
|
+
# url (string) image URL
|
25
|
+
# name (string) name of the image file, including image extension
|
26
|
+
#
|
27
|
+
# example:
|
28
|
+
#
|
29
|
+
# [
|
30
|
+
# [
|
31
|
+
# {
|
32
|
+
# "url": "https://dns.mysite.com/media/image1.jpg?format=jpg&name=small",
|
33
|
+
# "name": "product1_1.jpg"
|
34
|
+
# },
|
35
|
+
# {
|
36
|
+
# "url": "https://mysite.net/us/images/product_2.jpg",
|
37
|
+
# "name": "product1_2.jpg"
|
38
|
+
# }
|
39
|
+
# ]
|
40
|
+
# ]
|
41
|
+
#
|
42
|
+
# To simplify the API usage, we're sending the received image_objects wrapped in an array
|
43
|
+
#
|
44
|
+
# @param [Integer] id
|
45
|
+
# @param [Array<Object>] image_objects
|
46
|
+
def add_media(id, image_objects)
|
47
|
+
client.put("model/#{model_name}/#{id}/add_media", [image_objects])
|
48
|
+
true
|
49
|
+
|
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
|
18
56
|
end
|
19
57
|
end
|
20
58
|
end
|
data/lib/erp_integration.rb
CHANGED
@@ -30,6 +30,7 @@ module ErpIntegration
|
|
30
30
|
autoload :ChannelListing, 'erp_integration/channel_listing'
|
31
31
|
autoload :CustomerShipment, 'erp_integration/customer_shipment'
|
32
32
|
autoload :CustomerShipmentReturn, 'erp_integration/customer_shipment_return'
|
33
|
+
autoload :Location, 'erp_integration/location'
|
33
34
|
autoload :Product, 'erp_integration/product'
|
34
35
|
autoload :ProductCategory, 'erp_integration/product_category'
|
35
36
|
autoload :ProductTemplate, 'erp_integration/product_template'
|
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.39.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stefan Vermaas
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-01-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 4.1.16
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 4.1.16
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: faraday
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -289,6 +289,7 @@ files:
|
|
289
289
|
- lib/erp_integration/fulfil/resources/customer_shipment.rb
|
290
290
|
- lib/erp_integration/fulfil/resources/customer_shipment_return.rb
|
291
291
|
- lib/erp_integration/fulfil/resources/gift_card.rb
|
292
|
+
- lib/erp_integration/fulfil/resources/location.rb
|
292
293
|
- lib/erp_integration/fulfil/resources/product.rb
|
293
294
|
- lib/erp_integration/fulfil/resources/product_category.rb
|
294
295
|
- lib/erp_integration/fulfil/resources/product_template.rb
|
@@ -307,6 +308,7 @@ files:
|
|
307
308
|
- lib/erp_integration/fulfil/resources/webhook.rb
|
308
309
|
- lib/erp_integration/fulfil/where_clause.rb
|
309
310
|
- lib/erp_integration/gift_card.rb
|
311
|
+
- lib/erp_integration/location.rb
|
310
312
|
- lib/erp_integration/middleware/error_handling.rb
|
311
313
|
- lib/erp_integration/product.rb
|
312
314
|
- lib/erp_integration/product_category.rb
|