suggestgrid 0.1.17.pre.SNAPSHOT → 0.1.27
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/lib/suggest_grid/api_helper.rb +2 -2
- data/lib/suggest_grid/configuration.rb +2 -1
- data/lib/suggest_grid/controllers/action_controller.rb +77 -99
- data/lib/suggest_grid/controllers/base_controller.rb +27 -2
- data/lib/suggest_grid/controllers/metadata_controller.rb +259 -209
- data/lib/suggest_grid/controllers/recommendation_controller.rb +32 -44
- data/lib/suggest_grid/controllers/similarity_controller.rb +32 -44
- data/lib/suggest_grid/controllers/type_controller.rb +74 -104
- data/lib/suggest_grid/exceptions/api_exception.rb +1 -1
- data/lib/suggest_grid/exceptions/delete_error_response_exception.rb +52 -0
- data/lib/suggest_grid/exceptions/detailed_error_response_exception.rb +3 -3
- data/lib/suggest_grid/exceptions/error_response_exception.rb +3 -3
- data/lib/suggest_grid/exceptions/limit_exceeded_error_response_exception.rb +3 -3
- data/lib/suggest_grid/http/auth/basic_auth.rb +17 -0
- data/lib/suggest_grid/http/faraday_client.rb +43 -0
- data/lib/suggest_grid/http/http_call_back.rb +2 -2
- data/lib/suggest_grid/http/http_client.rb +13 -43
- data/lib/suggest_grid/http/http_request.rb +24 -8
- data/lib/suggest_grid/models/actions_response.rb +58 -0
- data/lib/suggest_grid/models/{schema_error_response.rb → bulk_post_error.rb} +4 -4
- data/lib/suggest_grid/models/bulk_post_response.rb +49 -0
- data/lib/suggest_grid/models/get_recommended_items_body.rb +14 -5
- data/lib/suggest_grid/models/get_recommended_users_body.rb +11 -2
- data/lib/suggest_grid/models/get_similar_items_body.rb +14 -5
- data/lib/suggest_grid/models/get_similar_users_body.rb +11 -2
- data/lib/suggest_grid/models/items_response.rb +10 -1
- data/lib/suggest_grid/models/users_response.rb +10 -1
- data/lib/suggest_grid.rb +53 -53
- data/spec/swagger.yaml +185 -87
- metadata +41 -15
- data/lib/suggest_grid/exceptions/bulk_schema_error_response_exception.rb +0 -37
- data/lib/suggest_grid/http/unirest_client.rb +0 -41
- data/lib/suggest_grid/models/count_response.rb +0 -35
- data/lib/suggest_grid/models/delete_error_response.rb +0 -80
- data/lib/suggest_grid/models/metadata_information_response.rb +0 -35
@@ -30,10 +30,10 @@ module SuggestGrid
|
|
30
30
|
begin
|
31
31
|
hash = APIHelper.json_deserialize(@context.response.raw_body)
|
32
32
|
unbox(hash)
|
33
|
-
|
34
|
-
|
33
|
+
rescue TypeError
|
34
|
+
end
|
35
35
|
end
|
36
|
-
|
36
|
+
|
37
37
|
# Populates this object by extracting properties from a hash.
|
38
38
|
# @param [Hash] The deserialized response sent by the server in the response body.
|
39
39
|
def unbox(hash)
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
|
2
|
+
|
3
|
+
require "base64"
|
4
|
+
|
5
|
+
module SuggestGrid
|
6
|
+
class BasicAuth
|
7
|
+
# Add basic authentication to the request.
|
8
|
+
# @param [HttpRequest] The HttpRequest object to which authentication will be added.
|
9
|
+
def self.apply(http_request)
|
10
|
+
username = Configuration.basic_auth_user_name
|
11
|
+
password = Configuration.basic_auth_password
|
12
|
+
value = Base64.encode64("#{username}:#{password}")
|
13
|
+
header_value = "Basic #{value}"
|
14
|
+
http_request.headers["Authorization"] = header_value
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
|
2
|
+
require 'faraday/http_cache'
|
3
|
+
|
4
|
+
module SuggestGrid
|
5
|
+
class FaradayClient < HttpClient
|
6
|
+
# The constructor.
|
7
|
+
def initialize(timeout: nil, cache: false)
|
8
|
+
@connection = Faraday.new do |faraday|
|
9
|
+
faraday.use Faraday::HttpCache, serializer: Marshal if cache
|
10
|
+
faraday.request :multipart
|
11
|
+
faraday.request :url_encoded
|
12
|
+
faraday.ssl[:ca_file] = Certifi.where
|
13
|
+
faraday.adapter Faraday.default_adapter
|
14
|
+
faraday.options[:open_timeout] = timeout if timeout
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
# Method overridden from HttpClient.
|
19
|
+
def execute_as_string(http_request)
|
20
|
+
response = @connection.send(http_request.http_method.downcase, http_request.query_url) do |request|
|
21
|
+
request.headers = http_request.headers
|
22
|
+
request.body = http_request.parameters
|
23
|
+
end
|
24
|
+
|
25
|
+
return convert_response(response)
|
26
|
+
end
|
27
|
+
|
28
|
+
# Method overridden from HttpClient.
|
29
|
+
def execute_as_binary(http_request)
|
30
|
+
response = @connection.send(http_request.http_method.downcase, http_request.query_url) do |request|
|
31
|
+
request.headers = http_request.headers
|
32
|
+
request.body = http_request.parameters
|
33
|
+
end
|
34
|
+
|
35
|
+
return convert_response(response)
|
36
|
+
end
|
37
|
+
|
38
|
+
# Method overridden from HttpClient.
|
39
|
+
def convert_response(response)
|
40
|
+
return HttpResponse.new(response.status, response.headers, response.body)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -9,8 +9,8 @@ module SuggestGrid
|
|
9
9
|
end
|
10
10
|
|
11
11
|
# A controller will call this method after making an HTTP Request.
|
12
|
-
# @param [
|
13
|
-
def on_after_response(
|
12
|
+
# @param [HttpContext] The HttpContext of the API call.
|
13
|
+
def on_after_response(http_context)
|
14
14
|
raise NotImplementedError, "This method needs to be implemented in a child class."
|
15
15
|
end
|
16
16
|
end
|
@@ -23,90 +23,60 @@ module SuggestGrid
|
|
23
23
|
# Get a GET HttpRequest object.
|
24
24
|
# @param [String] The URL to send the request to.
|
25
25
|
# @param [Hash, Optional] The headers for the HTTP Request.
|
26
|
-
# @param [String, Optional] Username for Basic Auth requests.
|
27
|
-
# @param [String, Optional] Password for Basic Auth requests.
|
28
26
|
def get(query_url,
|
29
|
-
headers:
|
30
|
-
username: nil,
|
31
|
-
password: nil)
|
27
|
+
headers: {})
|
32
28
|
return HttpRequest.new(HttpMethodEnum::GET,
|
33
29
|
query_url,
|
34
|
-
headers: headers
|
35
|
-
username: username,
|
36
|
-
password: password)
|
30
|
+
headers: headers)
|
37
31
|
end
|
38
32
|
|
39
33
|
# Get a POST HttpRequest object.
|
40
34
|
# @param [String] The URL to send the request to.
|
41
35
|
# @param [Hash, Optional] The headers for the HTTP Request.
|
42
36
|
# @param [Hash, Optional] The parameters for the HTTP Request.
|
43
|
-
# @param [String, Optional] Username for Basic Auth requests.
|
44
|
-
# @param [String, Optional] Password for Basic Auth requests.
|
45
37
|
def post(query_url,
|
46
|
-
headers:
|
47
|
-
parameters:
|
48
|
-
username: nil,
|
49
|
-
password: nil)
|
38
|
+
headers: {},
|
39
|
+
parameters: {})
|
50
40
|
return HttpRequest.new(HttpMethodEnum::POST,
|
51
41
|
query_url,
|
52
42
|
headers: headers,
|
53
|
-
parameters: parameters
|
54
|
-
username: username,
|
55
|
-
password: password)
|
43
|
+
parameters: parameters)
|
56
44
|
end
|
57
45
|
|
58
46
|
# Get a PUT HttpRequest object.
|
59
47
|
# @param [String] The URL to send the request to.
|
60
48
|
# @param [Hash, Optional] The headers for the HTTP Request.
|
61
49
|
# @param [Hash, Optional] The parameters for the HTTP Request.
|
62
|
-
# @param [String, Optional] Username for Basic Auth requests.
|
63
|
-
# @param [String, Optional] Password for Basic Auth requests.
|
64
50
|
def put(query_url,
|
65
|
-
headers:
|
66
|
-
parameters:
|
67
|
-
username: nil,
|
68
|
-
password: nil)
|
51
|
+
headers: {},
|
52
|
+
parameters: {})
|
69
53
|
return HttpRequest.new(HttpMethodEnum::PUT,
|
70
54
|
query_url,
|
71
55
|
headers: headers,
|
72
|
-
parameters: parameters
|
73
|
-
username: username,
|
74
|
-
password: password)
|
56
|
+
parameters: parameters)
|
75
57
|
end
|
76
58
|
|
77
59
|
# Get a PATCH HttpRequest object.
|
78
60
|
# @param [String] The URL to send the request to.
|
79
61
|
# @param [Hash, Optional] The headers for the HTTP Request.
|
80
62
|
# @param [Hash, Optional] The parameters for the HTTP Request.
|
81
|
-
# @param [String, Optional] Username for Basic Auth requests.
|
82
|
-
# @param [String, Optional] Password for Basic Auth requests.
|
83
63
|
def patch(query_url,
|
84
|
-
headers:
|
85
|
-
parameters:
|
86
|
-
username: nil,
|
87
|
-
password: nil)
|
64
|
+
headers: {},
|
65
|
+
parameters: {})
|
88
66
|
return HttpRequest.new(HttpMethodEnum::PATCH,
|
89
67
|
query_url,
|
90
68
|
headers: headers,
|
91
|
-
parameters: parameters
|
92
|
-
username: username,
|
93
|
-
password: password)
|
69
|
+
parameters: parameters)
|
94
70
|
end
|
95
71
|
|
96
72
|
# Get a DELETE HttpRequest object.
|
97
73
|
# @param [String] The URL to send the request to.
|
98
74
|
# @param [Hash, Optional] The headers for the HTTP Request.
|
99
|
-
# @param [String, Optional] Username for Basic Auth requests.
|
100
|
-
# @param [String, Optional] Password for Basic Auth requests.
|
101
75
|
def delete(query_url,
|
102
|
-
headers:
|
103
|
-
username: nil,
|
104
|
-
password: nil)
|
76
|
+
headers: {})
|
105
77
|
return HttpRequest.new(HttpMethodEnum::DELETE,
|
106
78
|
query_url,
|
107
|
-
headers: headers
|
108
|
-
username: username,
|
109
|
-
password: password)
|
79
|
+
headers: headers)
|
110
80
|
end
|
111
81
|
end
|
112
82
|
end
|
@@ -9,20 +9,36 @@ module SuggestGrid
|
|
9
9
|
# @param [String] The URL to send the request to.
|
10
10
|
# @param [Hash, Optional] The headers for the HTTP Request.
|
11
11
|
# @param [Hash, Optional] The parameters for the HTTP Request.
|
12
|
-
# @param [String, Optional] Username for Basic Auth requests.
|
13
|
-
# @param [String, Optional] Password for Basic Auth requests.
|
14
12
|
def initialize(http_method,
|
15
13
|
query_url,
|
16
|
-
headers:
|
17
|
-
parameters:
|
18
|
-
username: nil,
|
19
|
-
password: nil)
|
14
|
+
headers: {},
|
15
|
+
parameters: {})
|
20
16
|
@http_method = http_method
|
21
17
|
@query_url = query_url
|
22
18
|
@headers = headers
|
23
19
|
@parameters = parameters
|
24
|
-
|
25
|
-
|
20
|
+
end
|
21
|
+
|
22
|
+
# Add a header to the HttpRequest.
|
23
|
+
# @param [String] The name of the header.
|
24
|
+
# @param [String] The value of the header.
|
25
|
+
def add_header(name, value)
|
26
|
+
@headers[name] = value
|
27
|
+
end
|
28
|
+
|
29
|
+
# Add a parameter to the HttpRequest.
|
30
|
+
# @param [String] The name of the parameter.
|
31
|
+
# @param [String] The value of the parameter.
|
32
|
+
def add_parameter(name, value)
|
33
|
+
@parameters[name] = value
|
34
|
+
end
|
35
|
+
|
36
|
+
# Add a query parameter to the HttpRequest.
|
37
|
+
# @param [String] The name of the query parameter.
|
38
|
+
# @param [String] The value of the query parameter.
|
39
|
+
def add_query_parameter(name, value)
|
40
|
+
@query_url = APIHelper.append_url_with_query_parameters(@query_url, {name => value})
|
41
|
+
@query_url = APIHelper.clean_url(@query_url)
|
26
42
|
end
|
27
43
|
end
|
28
44
|
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
|
2
|
+
|
3
|
+
module SuggestGrid
|
4
|
+
class ActionsResponse < BaseModel
|
5
|
+
# The number of actions in the response.
|
6
|
+
# @return [Long]
|
7
|
+
attr_accessor :count
|
8
|
+
|
9
|
+
# The total number of actions.
|
10
|
+
# @return [Long]
|
11
|
+
attr_accessor :total_count
|
12
|
+
|
13
|
+
# The total number of actions.
|
14
|
+
# @return [List of Action]
|
15
|
+
attr_accessor :actions
|
16
|
+
|
17
|
+
# A mapping from model property names to API property names
|
18
|
+
def self.names
|
19
|
+
if @hash.nil?
|
20
|
+
@hash = {}
|
21
|
+
@hash["count"] = "count"
|
22
|
+
@hash["total_count"] = "total_count"
|
23
|
+
@hash["actions"] = "actions"
|
24
|
+
end
|
25
|
+
@hash
|
26
|
+
end
|
27
|
+
|
28
|
+
def initialize(count = nil,
|
29
|
+
total_count = nil,
|
30
|
+
actions = nil)
|
31
|
+
@count = count
|
32
|
+
@total_count = total_count
|
33
|
+
@actions = actions
|
34
|
+
end
|
35
|
+
|
36
|
+
# Creates an instance of the object from a hash
|
37
|
+
def self.from_hash(hash)
|
38
|
+
if hash == nil
|
39
|
+
nil
|
40
|
+
else
|
41
|
+
# Extract variables from the hash
|
42
|
+
count = hash["count"]
|
43
|
+
total_count = hash["total_count"]
|
44
|
+
# Parameter is an array, so we need to iterate through it
|
45
|
+
actions = nil
|
46
|
+
if hash["actions"] != nil
|
47
|
+
actions = Array.new
|
48
|
+
hash["actions"].each{|structure| actions << (Action.from_hash(structure) if structure)}
|
49
|
+
end
|
50
|
+
|
51
|
+
# Create object from extracted values
|
52
|
+
ActionsResponse.new(count,
|
53
|
+
total_count,
|
54
|
+
actions)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
|
2
2
|
|
3
3
|
module SuggestGrid
|
4
|
-
class
|
4
|
+
class BulkPostError < BaseModel
|
5
5
|
# Message of the response.
|
6
6
|
# @return [String]
|
7
7
|
attr_accessor :message
|
@@ -44,9 +44,9 @@ module SuggestGrid
|
|
44
44
|
error = hash["error"]
|
45
45
|
|
46
46
|
# Create object from extracted values
|
47
|
-
|
48
|
-
|
49
|
-
|
47
|
+
BulkPostError.new(message,
|
48
|
+
value,
|
49
|
+
error)
|
50
50
|
end
|
51
51
|
end
|
52
52
|
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
|
2
|
+
|
3
|
+
module SuggestGrid
|
4
|
+
class BulkPostResponse < BaseModel
|
5
|
+
# Message of the response.
|
6
|
+
# @return [String]
|
7
|
+
attr_accessor :message
|
8
|
+
|
9
|
+
# Message of the response.
|
10
|
+
# @return [List of BulkPostError]
|
11
|
+
attr_accessor :errors
|
12
|
+
|
13
|
+
# A mapping from model property names to API property names
|
14
|
+
def self.names
|
15
|
+
if @hash.nil?
|
16
|
+
@hash = {}
|
17
|
+
@hash["message"] = "message"
|
18
|
+
@hash["errors"] = "errors"
|
19
|
+
end
|
20
|
+
@hash
|
21
|
+
end
|
22
|
+
|
23
|
+
def initialize(message = nil,
|
24
|
+
errors = nil)
|
25
|
+
@message = message
|
26
|
+
@errors = errors
|
27
|
+
end
|
28
|
+
|
29
|
+
# Creates an instance of the object from a hash
|
30
|
+
def self.from_hash(hash)
|
31
|
+
if hash == nil
|
32
|
+
nil
|
33
|
+
else
|
34
|
+
# Extract variables from the hash
|
35
|
+
message = hash["message"]
|
36
|
+
# Parameter is an array, so we need to iterate through it
|
37
|
+
errors = nil
|
38
|
+
if hash["errors"] != nil
|
39
|
+
errors = Array.new
|
40
|
+
hash["errors"].each{|structure| errors << (BulkPostError.from_hash(structure) if structure)}
|
41
|
+
end
|
42
|
+
|
43
|
+
# Create object from extracted values
|
44
|
+
BulkPostResponse.new(message,
|
45
|
+
errors)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -18,7 +18,11 @@ module SuggestGrid
|
|
18
18
|
# @return [List of String]
|
19
19
|
attr_accessor :user_ids
|
20
20
|
|
21
|
-
# The number of
|
21
|
+
# The number of most recommended items to be skipped.
|
22
|
+
# @return [Integer]
|
23
|
+
attr_accessor :from
|
24
|
+
|
25
|
+
# The number of items asked to return in the response.
|
22
26
|
# @return [Integer]
|
23
27
|
attr_accessor :size
|
24
28
|
|
@@ -31,16 +35,16 @@ module SuggestGrid
|
|
31
35
|
# @return [String]
|
32
36
|
attr_accessor :similar_item_ids
|
33
37
|
|
34
|
-
# The metadata fields that are to be included in returned
|
38
|
+
# The metadata fields that are to be included in returned items.
|
35
39
|
# @return [List of String]
|
36
40
|
attr_accessor :fields
|
37
41
|
|
38
|
-
# Contraints on the returned users or items.
|
39
|
-
# Filter structure is defined in [the filter parameter documentation](http://www.suggestgrid.com/docs/
|
42
|
+
# Contraints on the returned users or items.
|
43
|
+
# Filter structure is defined in [the filter parameter documentation](http://www.suggestgrid.com/docs/advanced-features#filters-parameter).
|
40
44
|
# @return [Object]
|
41
45
|
attr_accessor :filter
|
42
46
|
|
43
|
-
# These
|
47
|
+
# These item ids that will not be included in the response.
|
44
48
|
# @return [List of String]
|
45
49
|
attr_accessor :except
|
46
50
|
|
@@ -52,6 +56,7 @@ module SuggestGrid
|
|
52
56
|
@hash["types"] = "types"
|
53
57
|
@hash["user_id"] = "user_id"
|
54
58
|
@hash["user_ids"] = "user_ids"
|
59
|
+
@hash["from"] = "from"
|
55
60
|
@hash["size"] = "size"
|
56
61
|
@hash["similar_item_id"] = "similar_item_id"
|
57
62
|
@hash["similar_item_ids"] = "similar_item_ids"
|
@@ -66,6 +71,7 @@ module SuggestGrid
|
|
66
71
|
types = nil,
|
67
72
|
user_id = nil,
|
68
73
|
user_ids = nil,
|
74
|
+
from = nil,
|
69
75
|
size = nil,
|
70
76
|
similar_item_id = nil,
|
71
77
|
similar_item_ids = nil,
|
@@ -76,6 +82,7 @@ module SuggestGrid
|
|
76
82
|
@types = types
|
77
83
|
@user_id = user_id
|
78
84
|
@user_ids = user_ids
|
85
|
+
@from = from
|
79
86
|
@size = size
|
80
87
|
@similar_item_id = similar_item_id
|
81
88
|
@similar_item_ids = similar_item_ids
|
@@ -94,6 +101,7 @@ module SuggestGrid
|
|
94
101
|
types = hash["types"]
|
95
102
|
user_id = hash["user_id"]
|
96
103
|
user_ids = hash["user_ids"]
|
104
|
+
from = hash["from"]
|
97
105
|
size = hash["size"]
|
98
106
|
similar_item_id = hash["similar_item_id"]
|
99
107
|
similar_item_ids = hash["similar_item_ids"]
|
@@ -106,6 +114,7 @@ module SuggestGrid
|
|
106
114
|
types,
|
107
115
|
user_id,
|
108
116
|
user_ids,
|
117
|
+
from,
|
109
118
|
size,
|
110
119
|
similar_item_id,
|
111
120
|
similar_item_ids,
|
@@ -18,6 +18,10 @@ module SuggestGrid
|
|
18
18
|
# @return [List of String]
|
19
19
|
attr_accessor :item_ids
|
20
20
|
|
21
|
+
# The number of most recommended items to be skipped.
|
22
|
+
# @return [Integer]
|
23
|
+
attr_accessor :from
|
24
|
+
|
21
25
|
# The number of users asked to return in the response.
|
22
26
|
# @return [Integer]
|
23
27
|
attr_accessor :size
|
@@ -35,8 +39,8 @@ module SuggestGrid
|
|
35
39
|
# @return [List of String]
|
36
40
|
attr_accessor :fields
|
37
41
|
|
38
|
-
# Contraints on the returned users or items.
|
39
|
-
# Filter structure is defined in [the filter parameter documentation](http://www.suggestgrid.com/docs/
|
42
|
+
# Contraints on the returned users or items.
|
43
|
+
# Filter structure is defined in [the filter parameter documentation](http://www.suggestgrid.com/docs/advanced-features#filters-parameter).
|
40
44
|
# @return [Object]
|
41
45
|
attr_accessor :filter
|
42
46
|
|
@@ -52,6 +56,7 @@ module SuggestGrid
|
|
52
56
|
@hash["types"] = "types"
|
53
57
|
@hash["item_id"] = "item_id"
|
54
58
|
@hash["item_ids"] = "item_ids"
|
59
|
+
@hash["from"] = "from"
|
55
60
|
@hash["size"] = "size"
|
56
61
|
@hash["similar_user_id"] = "similar_user_id"
|
57
62
|
@hash["similar_user_ids"] = "similar_user_ids"
|
@@ -66,6 +71,7 @@ module SuggestGrid
|
|
66
71
|
types = nil,
|
67
72
|
item_id = nil,
|
68
73
|
item_ids = nil,
|
74
|
+
from = nil,
|
69
75
|
size = nil,
|
70
76
|
similar_user_id = nil,
|
71
77
|
similar_user_ids = nil,
|
@@ -76,6 +82,7 @@ module SuggestGrid
|
|
76
82
|
@types = types
|
77
83
|
@item_id = item_id
|
78
84
|
@item_ids = item_ids
|
85
|
+
@from = from
|
79
86
|
@size = size
|
80
87
|
@similar_user_id = similar_user_id
|
81
88
|
@similar_user_ids = similar_user_ids
|
@@ -94,6 +101,7 @@ module SuggestGrid
|
|
94
101
|
types = hash["types"]
|
95
102
|
item_id = hash["item_id"]
|
96
103
|
item_ids = hash["item_ids"]
|
104
|
+
from = hash["from"]
|
97
105
|
size = hash["size"]
|
98
106
|
similar_user_id = hash["similar_user_id"]
|
99
107
|
similar_user_ids = hash["similar_user_ids"]
|
@@ -106,6 +114,7 @@ module SuggestGrid
|
|
106
114
|
types,
|
107
115
|
item_id,
|
108
116
|
item_ids,
|
117
|
+
from,
|
109
118
|
size,
|
110
119
|
similar_user_id,
|
111
120
|
similar_user_ids,
|
@@ -18,20 +18,24 @@ module SuggestGrid
|
|
18
18
|
# @return [List of String]
|
19
19
|
attr_accessor :item_ids
|
20
20
|
|
21
|
-
# The number of
|
21
|
+
# The number of most similar items to be skipped.
|
22
|
+
# @return [Integer]
|
23
|
+
attr_accessor :from
|
24
|
+
|
25
|
+
# The number of items asked to return in the response.
|
22
26
|
# @return [Integer]
|
23
27
|
attr_accessor :size
|
24
28
|
|
25
|
-
# The metadata fields that are to be included in returned
|
29
|
+
# The metadata fields that are to be included in returned items.
|
26
30
|
# @return [List of String]
|
27
31
|
attr_accessor :fields
|
28
32
|
|
29
|
-
# Contraints on the returned users or items.
|
30
|
-
# Filter structure is defined in [the filter parameter documentation](http://www.suggestgrid.com/docs/
|
33
|
+
# Contraints on the returned users or items.
|
34
|
+
# Filter structure is defined in [the filter parameter documentation](http://www.suggestgrid.com/docs/advanced-features#filters-parameter).
|
31
35
|
# @return [Object]
|
32
36
|
attr_accessor :filter
|
33
37
|
|
34
|
-
# These
|
38
|
+
# These item ids that will not be included in the response.
|
35
39
|
# @return [List of String]
|
36
40
|
attr_accessor :except
|
37
41
|
|
@@ -43,6 +47,7 @@ module SuggestGrid
|
|
43
47
|
@hash["types"] = "types"
|
44
48
|
@hash["item_id"] = "item_id"
|
45
49
|
@hash["item_ids"] = "item_ids"
|
50
|
+
@hash["from"] = "from"
|
46
51
|
@hash["size"] = "size"
|
47
52
|
@hash["fields"] = "fields"
|
48
53
|
@hash["filter"] = "filter"
|
@@ -55,6 +60,7 @@ module SuggestGrid
|
|
55
60
|
types = nil,
|
56
61
|
item_id = nil,
|
57
62
|
item_ids = nil,
|
63
|
+
from = nil,
|
58
64
|
size = nil,
|
59
65
|
fields = nil,
|
60
66
|
filter = nil,
|
@@ -63,6 +69,7 @@ module SuggestGrid
|
|
63
69
|
@types = types
|
64
70
|
@item_id = item_id
|
65
71
|
@item_ids = item_ids
|
72
|
+
@from = from
|
66
73
|
@size = size
|
67
74
|
@fields = fields
|
68
75
|
@filter = filter
|
@@ -79,6 +86,7 @@ module SuggestGrid
|
|
79
86
|
types = hash["types"]
|
80
87
|
item_id = hash["item_id"]
|
81
88
|
item_ids = hash["item_ids"]
|
89
|
+
from = hash["from"]
|
82
90
|
size = hash["size"]
|
83
91
|
fields = hash["fields"]
|
84
92
|
filter = hash["filter"]
|
@@ -89,6 +97,7 @@ module SuggestGrid
|
|
89
97
|
types,
|
90
98
|
item_id,
|
91
99
|
item_ids,
|
100
|
+
from,
|
92
101
|
size,
|
93
102
|
fields,
|
94
103
|
filter,
|
@@ -18,6 +18,10 @@ module SuggestGrid
|
|
18
18
|
# @return [List of String]
|
19
19
|
attr_accessor :user_ids
|
20
20
|
|
21
|
+
# The number of most similar users to be skipped.
|
22
|
+
# @return [Integer]
|
23
|
+
attr_accessor :from
|
24
|
+
|
21
25
|
# The number of users asked to return in the response.
|
22
26
|
# @return [Integer]
|
23
27
|
attr_accessor :size
|
@@ -26,8 +30,8 @@ module SuggestGrid
|
|
26
30
|
# @return [List of String]
|
27
31
|
attr_accessor :fields
|
28
32
|
|
29
|
-
# Contraints on the returned users or items.
|
30
|
-
# Filter structure is defined in [the filter parameter documentation](http://www.suggestgrid.com/docs/
|
33
|
+
# Contraints on the returned users or items.
|
34
|
+
# Filter structure is defined in [the filter parameter documentation](http://www.suggestgrid.com/docs/advanced-features#filters-parameter).
|
31
35
|
# @return [Object]
|
32
36
|
attr_accessor :filter
|
33
37
|
|
@@ -43,6 +47,7 @@ module SuggestGrid
|
|
43
47
|
@hash["types"] = "types"
|
44
48
|
@hash["user_id"] = "user_id"
|
45
49
|
@hash["user_ids"] = "user_ids"
|
50
|
+
@hash["from"] = "from"
|
46
51
|
@hash["size"] = "size"
|
47
52
|
@hash["fields"] = "fields"
|
48
53
|
@hash["filter"] = "filter"
|
@@ -55,6 +60,7 @@ module SuggestGrid
|
|
55
60
|
types = nil,
|
56
61
|
user_id = nil,
|
57
62
|
user_ids = nil,
|
63
|
+
from = nil,
|
58
64
|
size = nil,
|
59
65
|
fields = nil,
|
60
66
|
filter = nil,
|
@@ -63,6 +69,7 @@ module SuggestGrid
|
|
63
69
|
@types = types
|
64
70
|
@user_id = user_id
|
65
71
|
@user_ids = user_ids
|
72
|
+
@from = from
|
66
73
|
@size = size
|
67
74
|
@fields = fields
|
68
75
|
@filter = filter
|
@@ -79,6 +86,7 @@ module SuggestGrid
|
|
79
86
|
types = hash["types"]
|
80
87
|
user_id = hash["user_id"]
|
81
88
|
user_ids = hash["user_ids"]
|
89
|
+
from = hash["from"]
|
82
90
|
size = hash["size"]
|
83
91
|
fields = hash["fields"]
|
84
92
|
filter = hash["filter"]
|
@@ -89,6 +97,7 @@ module SuggestGrid
|
|
89
97
|
types,
|
90
98
|
user_id,
|
91
99
|
user_ids,
|
100
|
+
from,
|
92
101
|
size,
|
93
102
|
fields,
|
94
103
|
filter,
|
@@ -6,7 +6,11 @@ module SuggestGrid
|
|
6
6
|
# @return [Long]
|
7
7
|
attr_accessor :count
|
8
8
|
|
9
|
-
# The number of items
|
9
|
+
# The total number of items available.
|
10
|
+
# @return [Long]
|
11
|
+
attr_accessor :total_count
|
12
|
+
|
13
|
+
# The total number of items available.
|
10
14
|
# @return [List of Metadata]
|
11
15
|
attr_accessor :items
|
12
16
|
|
@@ -15,14 +19,17 @@ module SuggestGrid
|
|
15
19
|
if @hash.nil?
|
16
20
|
@hash = {}
|
17
21
|
@hash["count"] = "count"
|
22
|
+
@hash["total_count"] = "total_count"
|
18
23
|
@hash["items"] = "items"
|
19
24
|
end
|
20
25
|
@hash
|
21
26
|
end
|
22
27
|
|
23
28
|
def initialize(count = nil,
|
29
|
+
total_count = nil,
|
24
30
|
items = nil)
|
25
31
|
@count = count
|
32
|
+
@total_count = total_count
|
26
33
|
@items = items
|
27
34
|
end
|
28
35
|
|
@@ -33,6 +40,7 @@ module SuggestGrid
|
|
33
40
|
else
|
34
41
|
# Extract variables from the hash
|
35
42
|
count = hash["count"]
|
43
|
+
total_count = hash["total_count"]
|
36
44
|
# Parameter is an array, so we need to iterate through it
|
37
45
|
items = nil
|
38
46
|
if hash["items"] != nil
|
@@ -42,6 +50,7 @@ module SuggestGrid
|
|
42
50
|
|
43
51
|
# Create object from extracted values
|
44
52
|
ItemsResponse.new(count,
|
53
|
+
total_count,
|
45
54
|
items)
|
46
55
|
end
|
47
56
|
end
|