recombee_api_client 1.2.0 → 1.2.1
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/README.md +2 -0
- data/lib/recombee_api_client.rb +15 -0
- data/lib/recombee_api_client/api/add_bookmark.rb +2 -8
- data/lib/recombee_api_client/api/add_cart_addition.rb +2 -8
- data/lib/recombee_api_client/api/add_detail_view.rb +2 -8
- data/lib/recombee_api_client/api/add_group.rb +2 -8
- data/lib/recombee_api_client/api/add_item.rb +2 -8
- data/lib/recombee_api_client/api/add_item_property.rb +2 -8
- data/lib/recombee_api_client/api/add_purchase.rb +2 -8
- data/lib/recombee_api_client/api/add_rating.rb +2 -8
- data/lib/recombee_api_client/api/add_series.rb +2 -8
- data/lib/recombee_api_client/api/add_user.rb +2 -8
- data/lib/recombee_api_client/api/batch.rb +5 -3
- data/lib/recombee_api_client/api/delete_bookmark.rb +3 -13
- data/lib/recombee_api_client/api/delete_cart_addition.rb +3 -13
- data/lib/recombee_api_client/api/delete_detail_view.rb +3 -13
- data/lib/recombee_api_client/api/delete_group.rb +2 -8
- data/lib/recombee_api_client/api/delete_item.rb +2 -8
- data/lib/recombee_api_client/api/delete_item_property.rb +2 -8
- data/lib/recombee_api_client/api/delete_purchase.rb +3 -13
- data/lib/recombee_api_client/api/delete_rating.rb +3 -13
- data/lib/recombee_api_client/api/delete_series.rb +2 -8
- data/lib/recombee_api_client/api/delete_user.rb +2 -8
- data/lib/recombee_api_client/api/get_item_property_info.rb +2 -8
- data/lib/recombee_api_client/api/get_item_values.rb +2 -8
- data/lib/recombee_api_client/api/insert_to_group.rb +2 -8
- data/lib/recombee_api_client/api/insert_to_series.rb +2 -8
- data/lib/recombee_api_client/api/item_based_recommendation.rb +49 -55
- data/lib/recombee_api_client/api/list_group_items.rb +2 -8
- data/lib/recombee_api_client/api/list_groups.rb +2 -8
- data/lib/recombee_api_client/api/list_item_bookmarks.rb +2 -8
- data/lib/recombee_api_client/api/list_item_cart_additions.rb +2 -8
- data/lib/recombee_api_client/api/list_item_detail_views.rb +2 -8
- data/lib/recombee_api_client/api/list_item_properties.rb +2 -8
- data/lib/recombee_api_client/api/list_item_purchases.rb +2 -8
- data/lib/recombee_api_client/api/list_item_ratings.rb +2 -8
- data/lib/recombee_api_client/api/list_items.rb +2 -12
- data/lib/recombee_api_client/api/list_series.rb +2 -8
- data/lib/recombee_api_client/api/list_series_items.rb +2 -8
- data/lib/recombee_api_client/api/list_user_bookmarks.rb +2 -8
- data/lib/recombee_api_client/api/list_user_cart_additions.rb +2 -8
- data/lib/recombee_api_client/api/list_user_detail_views.rb +2 -8
- data/lib/recombee_api_client/api/list_user_purchases.rb +2 -8
- data/lib/recombee_api_client/api/list_user_ratings.rb +2 -8
- data/lib/recombee_api_client/api/list_users.rb +2 -8
- data/lib/recombee_api_client/api/merge_users.rb +2 -12
- data/lib/recombee_api_client/api/remove_from_group.rb +2 -8
- data/lib/recombee_api_client/api/remove_from_series.rb +2 -8
- data/lib/recombee_api_client/api/reset_database.rb +3 -9
- data/lib/recombee_api_client/api/set_item_values.rb +6 -11
- data/lib/recombee_api_client/api/user_based_recommendation.rb +49 -47
- data/lib/recombee_api_client/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 83b584f1d11c806d77846c5619ca291e2bbaa498
|
4
|
+
data.tar.gz: 317bde2ed001ea6a00b10d045123098e27b268c4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb191d7f12f872936719dc11a7c6e37e8e4c925c424f53aef19975dd7931ee5a43d3a2265f3e2c62d78e523363d91ce1c44e7c5a8cbecea878e122c67cbb27e1
|
7
|
+
data.tar.gz: c1d90063fe718a27a0cf665c0bcaebaa9d1fa1066ef3b917fb1492329a2c63fb386d5f01b1e7c957f9ba6754a94b3fc0abea9c804278a20c144af2fd7ed8c6bd
|
data/README.md
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
A Ruby client for easy use of the [Recombee](https://www.recombee.com/) recommendation API.
|
4
4
|
|
5
|
+
If you don't have an account at Recombee yet, you can create a free account [here](https://www.recombee.com/).
|
6
|
+
|
5
7
|
Documentation of the API can be found at [docs.recombee.com](https://docs.recombee.com/).
|
6
8
|
|
7
9
|
## Installation
|
data/lib/recombee_api_client.rb
CHANGED
@@ -96,10 +96,25 @@ module RecombeeApiClient
|
|
96
96
|
def process_request_uri(request)
|
97
97
|
uri = request.path
|
98
98
|
uri.slice! ('/{databaseId}/')
|
99
|
+
uri += query_parameters_to_url(request)
|
99
100
|
uri = URI.escape uri
|
100
101
|
uri
|
101
102
|
end
|
102
103
|
|
104
|
+
def query_parameters_to_url(req)
|
105
|
+
ps = ''
|
106
|
+
req.query_parameters.each do |name, val|
|
107
|
+
ps += (ps.include? '?') ? '&' : '?'
|
108
|
+
ps += "#{name}=#{format_query_parameter_value(val)}"
|
109
|
+
end
|
110
|
+
ps
|
111
|
+
end
|
112
|
+
|
113
|
+
def format_query_parameter_value(value)
|
114
|
+
return value unless value.kind_of?(Array)
|
115
|
+
value.join(',')
|
116
|
+
end
|
117
|
+
|
103
118
|
# Sign request with HMAC, request URI must be exacly the same
|
104
119
|
# We have 30s to complete request with this token
|
105
120
|
def sign_url(req_part)
|
@@ -51,7 +51,7 @@ module RecombeeApiClient
|
|
51
51
|
p
|
52
52
|
end
|
53
53
|
|
54
|
-
# Values of query
|
54
|
+
# Values of query parameters as a Hash.
|
55
55
|
# name of parameter => value of the parameter
|
56
56
|
def query_parameters
|
57
57
|
params = {}
|
@@ -59,14 +59,8 @@ module RecombeeApiClient
|
|
59
59
|
end
|
60
60
|
|
61
61
|
# Relative path to the endpoint
|
62
|
-
def basic_path
|
63
|
-
"/{databaseId}/bookmarks/"
|
64
|
-
end
|
65
|
-
|
66
|
-
# Relative path to the endpoint including query parameters
|
67
62
|
def path
|
68
|
-
|
69
|
-
p
|
63
|
+
"/{databaseId}/bookmarks/"
|
70
64
|
end
|
71
65
|
end
|
72
66
|
end
|
@@ -51,7 +51,7 @@ module RecombeeApiClient
|
|
51
51
|
p
|
52
52
|
end
|
53
53
|
|
54
|
-
# Values of query
|
54
|
+
# Values of query parameters as a Hash.
|
55
55
|
# name of parameter => value of the parameter
|
56
56
|
def query_parameters
|
57
57
|
params = {}
|
@@ -59,14 +59,8 @@ module RecombeeApiClient
|
|
59
59
|
end
|
60
60
|
|
61
61
|
# Relative path to the endpoint
|
62
|
-
def basic_path
|
63
|
-
"/{databaseId}/cartadditions/"
|
64
|
-
end
|
65
|
-
|
66
|
-
# Relative path to the endpoint including query parameters
|
67
62
|
def path
|
68
|
-
|
69
|
-
p
|
63
|
+
"/{databaseId}/cartadditions/"
|
70
64
|
end
|
71
65
|
end
|
72
66
|
end
|
@@ -54,7 +54,7 @@ module RecombeeApiClient
|
|
54
54
|
p
|
55
55
|
end
|
56
56
|
|
57
|
-
# Values of query
|
57
|
+
# Values of query parameters as a Hash.
|
58
58
|
# name of parameter => value of the parameter
|
59
59
|
def query_parameters
|
60
60
|
params = {}
|
@@ -62,14 +62,8 @@ module RecombeeApiClient
|
|
62
62
|
end
|
63
63
|
|
64
64
|
# Relative path to the endpoint
|
65
|
-
def basic_path
|
66
|
-
"/{databaseId}/detailviews/"
|
67
|
-
end
|
68
|
-
|
69
|
-
# Relative path to the endpoint including query parameters
|
70
65
|
def path
|
71
|
-
|
72
|
-
p
|
66
|
+
"/{databaseId}/detailviews/"
|
73
67
|
end
|
74
68
|
end
|
75
69
|
end
|
@@ -34,7 +34,7 @@ module RecombeeApiClient
|
|
34
34
|
p
|
35
35
|
end
|
36
36
|
|
37
|
-
# Values of query
|
37
|
+
# Values of query parameters as a Hash.
|
38
38
|
# name of parameter => value of the parameter
|
39
39
|
def query_parameters
|
40
40
|
params = {}
|
@@ -42,14 +42,8 @@ module RecombeeApiClient
|
|
42
42
|
end
|
43
43
|
|
44
44
|
# Relative path to the endpoint
|
45
|
-
def basic_path
|
46
|
-
"/{databaseId}/groups/#{@group_id}"
|
47
|
-
end
|
48
|
-
|
49
|
-
# Relative path to the endpoint including query parameters
|
50
45
|
def path
|
51
|
-
|
52
|
-
p
|
46
|
+
"/{databaseId}/groups/#{@group_id}"
|
53
47
|
end
|
54
48
|
end
|
55
49
|
end
|
@@ -37,7 +37,7 @@ module RecombeeApiClient
|
|
37
37
|
p
|
38
38
|
end
|
39
39
|
|
40
|
-
# Values of query
|
40
|
+
# Values of query parameters as a Hash.
|
41
41
|
# name of parameter => value of the parameter
|
42
42
|
def query_parameters
|
43
43
|
params = {}
|
@@ -45,14 +45,8 @@ module RecombeeApiClient
|
|
45
45
|
end
|
46
46
|
|
47
47
|
# Relative path to the endpoint
|
48
|
-
def basic_path
|
49
|
-
"/{databaseId}/items/#{@item_id}"
|
50
|
-
end
|
51
|
-
|
52
|
-
# Relative path to the endpoint including query parameters
|
53
48
|
def path
|
54
|
-
|
55
|
-
p
|
49
|
+
"/{databaseId}/items/#{@item_id}"
|
56
50
|
end
|
57
51
|
end
|
58
52
|
end
|
@@ -39,7 +39,7 @@ module RecombeeApiClient
|
|
39
39
|
p
|
40
40
|
end
|
41
41
|
|
42
|
-
# Values of query
|
42
|
+
# Values of query parameters as a Hash.
|
43
43
|
# name of parameter => value of the parameter
|
44
44
|
def query_parameters
|
45
45
|
params = {}
|
@@ -48,14 +48,8 @@ module RecombeeApiClient
|
|
48
48
|
end
|
49
49
|
|
50
50
|
# Relative path to the endpoint
|
51
|
-
def basic_path
|
52
|
-
"/{databaseId}/items/properties/#{@property_name}"
|
53
|
-
end
|
54
|
-
|
55
|
-
# Relative path to the endpoint including query parameters
|
56
51
|
def path
|
57
|
-
|
58
|
-
p
|
52
|
+
"/{databaseId}/items/properties/#{@property_name}"
|
59
53
|
end
|
60
54
|
end
|
61
55
|
end
|
@@ -51,7 +51,7 @@ module RecombeeApiClient
|
|
51
51
|
p
|
52
52
|
end
|
53
53
|
|
54
|
-
# Values of query
|
54
|
+
# Values of query parameters as a Hash.
|
55
55
|
# name of parameter => value of the parameter
|
56
56
|
def query_parameters
|
57
57
|
params = {}
|
@@ -59,14 +59,8 @@ module RecombeeApiClient
|
|
59
59
|
end
|
60
60
|
|
61
61
|
# Relative path to the endpoint
|
62
|
-
def basic_path
|
63
|
-
"/{databaseId}/purchases/"
|
64
|
-
end
|
65
|
-
|
66
|
-
# Relative path to the endpoint including query parameters
|
67
62
|
def path
|
68
|
-
|
69
|
-
p
|
63
|
+
"/{databaseId}/purchases/"
|
70
64
|
end
|
71
65
|
end
|
72
66
|
end
|
@@ -54,7 +54,7 @@ module RecombeeApiClient
|
|
54
54
|
p
|
55
55
|
end
|
56
56
|
|
57
|
-
# Values of query
|
57
|
+
# Values of query parameters as a Hash.
|
58
58
|
# name of parameter => value of the parameter
|
59
59
|
def query_parameters
|
60
60
|
params = {}
|
@@ -62,14 +62,8 @@ module RecombeeApiClient
|
|
62
62
|
end
|
63
63
|
|
64
64
|
# Relative path to the endpoint
|
65
|
-
def basic_path
|
66
|
-
"/{databaseId}/ratings/"
|
67
|
-
end
|
68
|
-
|
69
|
-
# Relative path to the endpoint including query parameters
|
70
65
|
def path
|
71
|
-
|
72
|
-
p
|
66
|
+
"/{databaseId}/ratings/"
|
73
67
|
end
|
74
68
|
end
|
75
69
|
end
|
@@ -34,7 +34,7 @@ module RecombeeApiClient
|
|
34
34
|
p
|
35
35
|
end
|
36
36
|
|
37
|
-
# Values of query
|
37
|
+
# Values of query parameters as a Hash.
|
38
38
|
# name of parameter => value of the parameter
|
39
39
|
def query_parameters
|
40
40
|
params = {}
|
@@ -42,14 +42,8 @@ module RecombeeApiClient
|
|
42
42
|
end
|
43
43
|
|
44
44
|
# Relative path to the endpoint
|
45
|
-
def basic_path
|
46
|
-
"/{databaseId}/series/#{@series_id}"
|
47
|
-
end
|
48
|
-
|
49
|
-
# Relative path to the endpoint including query parameters
|
50
45
|
def path
|
51
|
-
|
52
|
-
p
|
46
|
+
"/{databaseId}/series/#{@series_id}"
|
53
47
|
end
|
54
48
|
end
|
55
49
|
end
|
@@ -35,7 +35,7 @@ module RecombeeApiClient
|
|
35
35
|
p
|
36
36
|
end
|
37
37
|
|
38
|
-
# Values of query
|
38
|
+
# Values of query parameters as a Hash.
|
39
39
|
# name of parameter => value of the parameter
|
40
40
|
def query_parameters
|
41
41
|
params = {}
|
@@ -43,14 +43,8 @@ module RecombeeApiClient
|
|
43
43
|
end
|
44
44
|
|
45
45
|
# Relative path to the endpoint
|
46
|
-
def basic_path
|
47
|
-
"/{databaseId}/users/#{@user_id}"
|
48
|
-
end
|
49
|
-
|
50
|
-
# Relative path to the endpoint including query parameters
|
51
46
|
def path
|
52
|
-
|
53
|
-
p
|
47
|
+
"/{databaseId}/users/#{@user_id}"
|
54
48
|
end
|
55
49
|
end
|
56
50
|
end
|
@@ -29,9 +29,11 @@ module RecombeeApiClient
|
|
29
29
|
# Values of body parameters as a Hash
|
30
30
|
attr_reader :body_parameters
|
31
31
|
|
32
|
-
#
|
32
|
+
# Values of query path parameters as a Hash.
|
33
33
|
# name of parameter => value of the parameter
|
34
|
-
def
|
34
|
+
def query_parameters
|
35
|
+
params = {}
|
36
|
+
params
|
35
37
|
end
|
36
38
|
|
37
39
|
# Relative path to the endpoint
|
@@ -49,7 +51,7 @@ module RecombeeApiClient
|
|
49
51
|
end
|
50
52
|
|
51
53
|
def request_to_batch_hash(req)
|
52
|
-
path = req.
|
54
|
+
path = req.path
|
53
55
|
path.slice! ('/{databaseId}')
|
54
56
|
bh = {
|
55
57
|
'method' => req.method.to_s.upcase,
|
@@ -7,7 +7,7 @@ module RecombeeApiClient
|
|
7
7
|
require_relative '../errors'
|
8
8
|
|
9
9
|
##
|
10
|
-
#Deletes a bookmark uniquely specified by `userId`, `itemId`, and `timestamp
|
10
|
+
#Deletes a bookmark uniquely specified by `userId`, `itemId`, and `timestamp` or all the bookmarks with given `userId` and `itemId` if `timestamp` is omitted.
|
11
11
|
#
|
12
12
|
class DeleteBookmark < ApiRequest
|
13
13
|
attr_reader :user_id, :item_id, :timestamp
|
@@ -45,7 +45,7 @@ module RecombeeApiClient
|
|
45
45
|
p
|
46
46
|
end
|
47
47
|
|
48
|
-
# Values of query
|
48
|
+
# Values of query parameters as a Hash.
|
49
49
|
# name of parameter => value of the parameter
|
50
50
|
def query_parameters
|
51
51
|
params = {}
|
@@ -56,18 +56,8 @@ module RecombeeApiClient
|
|
56
56
|
end
|
57
57
|
|
58
58
|
# Relative path to the endpoint
|
59
|
-
def basic_path
|
60
|
-
"/{databaseId}/bookmarks/"
|
61
|
-
end
|
62
|
-
|
63
|
-
# Relative path to the endpoint including query parameters
|
64
59
|
def path
|
65
|
-
|
66
|
-
if @optional.include? 'timestamp'
|
67
|
-
p += (p.include? '?') ? '&' : '?'
|
68
|
-
p += "timestamp=#{@optional['timestamp']}"
|
69
|
-
end
|
70
|
-
p
|
60
|
+
"/{databaseId}/bookmarks/"
|
71
61
|
end
|
72
62
|
end
|
73
63
|
end
|
@@ -7,7 +7,7 @@ module RecombeeApiClient
|
|
7
7
|
require_relative '../errors'
|
8
8
|
|
9
9
|
##
|
10
|
-
#Deletes an existing cart addition uniquely specified by `userId`, `itemId`, and `timestamp
|
10
|
+
#Deletes an existing cart addition uniquely specified by `userId`, `itemId`, and `timestamp` or all the cart additions with given `userId` and `itemId` if `timestamp` is omitted.
|
11
11
|
#
|
12
12
|
class DeleteCartAddition < ApiRequest
|
13
13
|
attr_reader :user_id, :item_id, :timestamp
|
@@ -45,7 +45,7 @@ module RecombeeApiClient
|
|
45
45
|
p
|
46
46
|
end
|
47
47
|
|
48
|
-
# Values of query
|
48
|
+
# Values of query parameters as a Hash.
|
49
49
|
# name of parameter => value of the parameter
|
50
50
|
def query_parameters
|
51
51
|
params = {}
|
@@ -56,18 +56,8 @@ module RecombeeApiClient
|
|
56
56
|
end
|
57
57
|
|
58
58
|
# Relative path to the endpoint
|
59
|
-
def basic_path
|
60
|
-
"/{databaseId}/cartadditions/"
|
61
|
-
end
|
62
|
-
|
63
|
-
# Relative path to the endpoint including query parameters
|
64
59
|
def path
|
65
|
-
|
66
|
-
if @optional.include? 'timestamp'
|
67
|
-
p += (p.include? '?') ? '&' : '?'
|
68
|
-
p += "timestamp=#{@optional['timestamp']}"
|
69
|
-
end
|
70
|
-
p
|
60
|
+
"/{databaseId}/cartadditions/"
|
71
61
|
end
|
72
62
|
end
|
73
63
|
end
|
@@ -7,7 +7,7 @@ module RecombeeApiClient
|
|
7
7
|
require_relative '../errors'
|
8
8
|
|
9
9
|
##
|
10
|
-
#Deletes an existing detail view uniquely specified by (`userId`, `itemId`, and `timestamp`).
|
10
|
+
#Deletes an existing detail view uniquely specified by (`userId`, `itemId`, and `timestamp`) or all the detail views with given `userId` and `itemId` if `timestamp` is omitted.
|
11
11
|
#
|
12
12
|
class DeleteDetailView < ApiRequest
|
13
13
|
attr_reader :user_id, :item_id, :timestamp
|
@@ -45,7 +45,7 @@ module RecombeeApiClient
|
|
45
45
|
p
|
46
46
|
end
|
47
47
|
|
48
|
-
# Values of query
|
48
|
+
# Values of query parameters as a Hash.
|
49
49
|
# name of parameter => value of the parameter
|
50
50
|
def query_parameters
|
51
51
|
params = {}
|
@@ -56,18 +56,8 @@ module RecombeeApiClient
|
|
56
56
|
end
|
57
57
|
|
58
58
|
# Relative path to the endpoint
|
59
|
-
def basic_path
|
60
|
-
"/{databaseId}/detailviews/"
|
61
|
-
end
|
62
|
-
|
63
|
-
# Relative path to the endpoint including query parameters
|
64
59
|
def path
|
65
|
-
|
66
|
-
if @optional.include? 'timestamp'
|
67
|
-
p += (p.include? '?') ? '&' : '?'
|
68
|
-
p += "timestamp=#{@optional['timestamp']}"
|
69
|
-
end
|
70
|
-
p
|
60
|
+
"/{databaseId}/detailviews/"
|
71
61
|
end
|
72
62
|
end
|
73
63
|
end
|
@@ -37,7 +37,7 @@ module RecombeeApiClient
|
|
37
37
|
p
|
38
38
|
end
|
39
39
|
|
40
|
-
# Values of query
|
40
|
+
# Values of query parameters as a Hash.
|
41
41
|
# name of parameter => value of the parameter
|
42
42
|
def query_parameters
|
43
43
|
params = {}
|
@@ -45,14 +45,8 @@ module RecombeeApiClient
|
|
45
45
|
end
|
46
46
|
|
47
47
|
# Relative path to the endpoint
|
48
|
-
def basic_path
|
49
|
-
"/{databaseId}/groups/#{@group_id}"
|
50
|
-
end
|
51
|
-
|
52
|
-
# Relative path to the endpoint including query parameters
|
53
48
|
def path
|
54
|
-
|
55
|
-
p
|
49
|
+
"/{databaseId}/groups/#{@group_id}"
|
56
50
|
end
|
57
51
|
end
|
58
52
|
end
|