aboutyou-sdk 0.0.28 → 0.0.29
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
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NWJkYTExNDNlM2QxNjIzZjdjNzdmYWRhYWI1YjBlZjc5ODFjZGMwYQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
OGYwNWE3ZTVmNWQ5NDY2ZDczNTkwMzgxY2ViOGJlYjI1MzUxMDk1NQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MmI2OGI0MWE5NTMyNzIyMmRkMDMyNTg5ZTIzODI1YjQ4MTJkNzU3NTFhMzMz
|
10
|
+
MDRiMzliNDdhYWQ1NGU5M2Q0NmNjYzlmZTFmMzgxZmI5NTc0N2Y5ODQzODgx
|
11
|
+
M2JjMjMwMWQyZjg5NTg0MjFmNDExNDc0YTFhNzVmZjM0M2E1MDg=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NzgyM2ExY2Q5NmRjMDNmYTY0ZWM0MzY4NDdhNDkyMmY3NzZhZmY4NTQ0YTcx
|
14
|
+
YzE1MmJkZWYxMjBiODAxNzA2ZDA2ODE3N2NiYTdjYTNlMjBlN2MxYjUxNjZl
|
15
|
+
MWQwZjY2MzIxZjM1MWRmMWNiYjk4NzczMGFhYWEyMDA2Njk2YzI=
|
@@ -636,6 +636,19 @@ module AboutYou
|
|
636
636
|
|
637
637
|
flatten_categories
|
638
638
|
end
|
639
|
+
|
640
|
+
###
|
641
|
+
# this method creates the brand model
|
642
|
+
#
|
643
|
+
# * *Args* :
|
644
|
+
# - +json_object+ -> the response from the api in json format
|
645
|
+
#
|
646
|
+
# * *Returns* :
|
647
|
+
# - an instance of AboutYou::SDK::Model::Brand
|
648
|
+
###
|
649
|
+
def create_brand(json_object)
|
650
|
+
AboutYou::SDK::Model::Brand.create_from_json(json_object)
|
651
|
+
end
|
639
652
|
|
640
653
|
###
|
641
654
|
# this method tries to handle errors which are received from the api
|
@@ -13,25 +13,31 @@ module AboutYou
|
|
13
13
|
TYPE_PRODUCTS = 'products'
|
14
14
|
# argument for api when requiring categories
|
15
15
|
TYPE_CATEGORIES = 'categories'
|
16
|
+
# argument for api when requiring brands
|
17
|
+
TYPE_BRANDS = 'brands'
|
16
18
|
|
17
19
|
# the products of the autocomplete
|
18
20
|
attr_accessor :products
|
19
21
|
# the categories of the autocomplete
|
20
22
|
attr_accessor :categories
|
23
|
+
# the brands of the autocomplete
|
24
|
+
attr_accessor :brands
|
21
25
|
|
22
26
|
###
|
23
27
|
# the Constructor for the autocomplete class
|
24
28
|
#
|
25
29
|
# * *Args* :
|
26
|
-
# - +
|
27
|
-
# - +
|
30
|
+
# - +categories+ -> the products of the autocomplete
|
31
|
+
# - +products+ -> the categories of the autocomplete
|
32
|
+
# - +brands+ -> the brands of the autocomplete
|
28
33
|
#
|
29
34
|
# * *Returns* :
|
30
35
|
# - Instance of AboutYou::SDK::Model::AutoComplete
|
31
36
|
###
|
32
|
-
def initialize(categories = nil, products = nil)
|
37
|
+
def initialize(categories = nil, products = nil, brands = nil)
|
33
38
|
self.categories = categories
|
34
39
|
self.products = products
|
40
|
+
self.brands = brands
|
35
41
|
end
|
36
42
|
|
37
43
|
###
|
@@ -47,7 +53,8 @@ module AboutYou
|
|
47
53
|
def self.create_from_json(json_object, factory)
|
48
54
|
new(
|
49
55
|
parse_categories(json_object, factory),
|
50
|
-
parse_products(json_object, factory)
|
56
|
+
parse_products(json_object, factory),
|
57
|
+
parse_brands(json_object, factory)
|
51
58
|
)
|
52
59
|
end
|
53
60
|
|
@@ -94,6 +101,28 @@ module AboutYou
|
|
94
101
|
|
95
102
|
products
|
96
103
|
end
|
104
|
+
|
105
|
+
###
|
106
|
+
# This method parses the json object and builds product models from it
|
107
|
+
#
|
108
|
+
# * *Args* :
|
109
|
+
# - +json_object+ -> the json response from the api
|
110
|
+
# - +factory+ -> the model factory responsible for building the models
|
111
|
+
#
|
112
|
+
# * *Returns* :
|
113
|
+
# - Array containing instances of AboutYou::SDK::Model::Product
|
114
|
+
###
|
115
|
+
def self.parse_brands(json_object, factory)
|
116
|
+
return NOT_REQUESTED unless json_object.key?('brands')
|
117
|
+
return [] if json_object['brands'].nil?
|
118
|
+
|
119
|
+
brands = []
|
120
|
+
json_object['brands'].each do |brand|
|
121
|
+
brands.push(factory.create_brand(brand))
|
122
|
+
end
|
123
|
+
|
124
|
+
brands
|
125
|
+
end
|
97
126
|
end
|
98
127
|
end
|
99
128
|
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module AboutYou
|
2
|
+
module SDK
|
3
|
+
module Model
|
4
|
+
###
|
5
|
+
# This Class represents a brand model
|
6
|
+
#
|
7
|
+
# author:: Collins GmbH & Co KG
|
8
|
+
###
|
9
|
+
class Brand
|
10
|
+
attr_accessor :id
|
11
|
+
attr_accessor :name
|
12
|
+
|
13
|
+
###
|
14
|
+
# @param object $json_object
|
15
|
+
#
|
16
|
+
# @return Basket
|
17
|
+
###
|
18
|
+
def self.create_from_json(json_object)
|
19
|
+
brand = new
|
20
|
+
|
21
|
+
brand.id = json_object['id']
|
22
|
+
brand.name = json_object['name']
|
23
|
+
|
24
|
+
brand
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aboutyou-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.29
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ferenc Beutel
|
@@ -79,6 +79,7 @@ files:
|
|
79
79
|
- lib/AboutYou/Model/app.rb
|
80
80
|
- lib/AboutYou/Model/autocomplete.rb
|
81
81
|
- lib/AboutYou/Model/basket.rb
|
82
|
+
- lib/AboutYou/Model/brand.rb
|
82
83
|
- lib/AboutYou/Model/categories_result.rb
|
83
84
|
- lib/AboutYou/Model/category.rb
|
84
85
|
- lib/AboutYou/Model/category_tree.rb
|