aboutyou-sdk 0.0.17 → 0.0.18
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/aboutyou-sdk/Model/Product.rb +11 -11
- data/tests/testProductsByIds.rb +4 -3
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YjIwODhmODg5MDU3ZTU5YTYwMTZjMTU2ZGUyOGMxMjEwNDYxZmQ1NQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YzBkNjZiNzZlODM0ZDljYjc3YzIwMTJlNDk3ZDU3YmRiNTMzYWQ0YQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZTM5Nzg4OTI0YTNkMzE3ZTQ4MmEzYzNkMmYxYjY5ODIzODFmN2M4OWZmYmM4
|
10
|
+
MTJlNWQwN2Q4ZjZhNGQ4MjIxOGU2N2I0N2IxYjBlOTcyNjMxZmE4NWRmZDc0
|
11
|
+
ZTAyNWM2NDZjMDBlNGMwZmIzZjQwMThlMTBhNzUwYjFhNDA0YjI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YzY2ZGEwMmU4NTI1MmUwNjgwOTU5YWQ2OTBlN2Q0MTgzNTI5ZTFhOWFkMzE4
|
14
|
+
NzcwMDAzOTI3NGFmYjBlNDcwMDY5Yzc5YjlmYzRhNmEyNThkMTZlN2JmODk0
|
15
|
+
YTllYzNjNzBiODNjODU3ZjA3Y2RhODdlYTlhNTliNTZkNmU4ZDA=
|
@@ -33,8 +33,8 @@ module AboutYou
|
|
33
33
|
attr_accessor :activeLeafCategories
|
34
34
|
|
35
35
|
|
36
|
-
def createFromJson(jsonObject, factory, appId)
|
37
|
-
product = self.new
|
36
|
+
def self.createFromJson(jsonObject, factory, appId)
|
37
|
+
product = self.new
|
38
38
|
|
39
39
|
# these are required fields
|
40
40
|
raise 'MalformedJsonException!' unless jsonObject["id"] || jsonObject["name"]
|
@@ -56,8 +56,8 @@ module AboutYou
|
|
56
56
|
product.maxSavingsPrice = jsonObject["max_savings"] ? jsonObject["max_savings"] : nil
|
57
57
|
product.maxSavingsPercentage = jsonObject["max_savings_percentage"] ? jsonObject["max_savings_percentage"] : nil
|
58
58
|
|
59
|
-
product.defaultImage = jsonObject["default_image"] ? jsonObject["default_image"] : nil
|
60
|
-
product.defaultVariant = jsonObject["default_variant"] ? jsonObject["default_variant"] : nil
|
59
|
+
product.defaultImage = jsonObject["default_image"] ? factory.createImage(jsonObject["default_image"]) : nil
|
60
|
+
product.defaultVariant = jsonObject["default_variant"] ? factory.createVariant(jsonObject["default_variant"]) : nil
|
61
61
|
|
62
62
|
product.variants = product.parseVariants(jsonObject, factory, product)
|
63
63
|
product.inactiveVariants = product.parseVariants(jsonObject, factory, product, 'inactive_variants')
|
@@ -66,15 +66,15 @@ module AboutYou
|
|
66
66
|
key = 'categories.' + String(appId)
|
67
67
|
product.categoryIdPaths = jsonObject["key"] ? jsonObject["key"] : []
|
68
68
|
|
69
|
-
product.facetIds
|
69
|
+
product.facetIds = product.parseFacetIds(jsonObject)
|
70
70
|
|
71
71
|
product
|
72
72
|
end
|
73
73
|
|
74
74
|
def parseVariants(jsonObject, factory, product, attributeName = 'variants')
|
75
75
|
variants = {}
|
76
|
-
|
77
|
-
jsonObject[
|
76
|
+
if jsonObject.key?(attributeName) && !jsonObject[attributeName].empty?
|
77
|
+
jsonObject[attributeName].each do |jsonVariant|
|
78
78
|
variants[jsonVariant["id"]] = factory.createVariant(jsonVariant, product)
|
79
79
|
end
|
80
80
|
end
|
@@ -84,7 +84,7 @@ module AboutYou
|
|
84
84
|
|
85
85
|
def parseStyles(jsonObject, factory)
|
86
86
|
styles = []
|
87
|
-
|
87
|
+
if jsonObject.key?("styles") && !jsonObject["styles"].empty?
|
88
88
|
jsonObject["styles"].each do |style|
|
89
89
|
styles.push(factory.createProduct(style))
|
90
90
|
end
|
@@ -109,15 +109,15 @@ module AboutYou
|
|
109
109
|
def parseFacetIds(jsonObject)
|
110
110
|
ids = self.parseFacetIdsInAttributesMerged(jsonObject)
|
111
111
|
|
112
|
-
ids = self.parseFacetIdsInVariants(jsonObject) if ids ===
|
112
|
+
ids = self.parseFacetIdsInVariants(jsonObject) if ids === nil
|
113
113
|
|
114
|
-
ids = self.parseFacetIdsInBrand(jsonObject) if $ids ===
|
114
|
+
ids = self.parseFacetIdsInBrand(jsonObject) if $ids === nil
|
115
115
|
|
116
116
|
ids != nil ? ids : []
|
117
117
|
end
|
118
118
|
|
119
119
|
def parseFacetIdsInAttributesMerged(jsonObject)
|
120
|
-
return nil
|
120
|
+
return nil unless jsonObject["attributes_merged"]
|
121
121
|
|
122
122
|
self.parseAttributesJson(jsonObject["attributes_merged"])
|
123
123
|
end
|
data/tests/testProductsByIds.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'sinatra'
|
2
|
-
require '
|
2
|
+
require 'pry_debug'
|
3
|
+
require_relative '../lib/aboutyou-sdk.rb'
|
3
4
|
|
4
5
|
class AY
|
5
6
|
attr_accessor :result
|
@@ -26,8 +27,8 @@ shop.result = ""
|
|
26
27
|
productsResult = shop.fetchProductsByIds([661132, 660971, 661367, 661361, 661350, 661345],["default_image", "variants"])
|
27
28
|
productsResult.products.each do |key, prod|
|
28
29
|
shop.result = shop.result + '<ul>' + '<li>' + String(prod.id) + ' : ' + prod.name + '</br>' + '<img src="' + prod.defaultImage.url + '">'
|
29
|
-
prod.variants.
|
30
|
-
shop.result = shop.result + '<ul>' + '<li>' + 'Variante: '
|
30
|
+
prod.variants.each do |key, var|
|
31
|
+
shop.result = shop.result + '<ul>' + '<li>' + 'Variante: ' + String(var.id) + '</ul>'
|
31
32
|
end
|
32
33
|
shop.result = shop.result + '</li>' + '</ul>'
|
33
34
|
end
|