algolia 2.0.3 → 2.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +10 -1
- data/CHANGELOG.md +28 -1
- data/CONTRIBUTING.MD +184 -0
- data/README.md +1 -5
- data/lib/algolia/config/personalization_config.rb +20 -0
- data/lib/algolia/config/recommend_config.rb +6 -0
- data/lib/algolia/config/recommendation_config.rb +2 -15
- data/lib/algolia/helpers.rb +49 -0
- data/lib/algolia/http/http_requester.rb +4 -4
- data/lib/algolia/personalization_client.rb +60 -0
- data/lib/algolia/recommend_client.rb +134 -0
- data/lib/algolia/recommendation_client.rb +2 -55
- data/lib/algolia/responses/dictionary_response.rb +33 -0
- data/lib/algolia/search_client.rb +177 -3
- data/lib/algolia/search_index.rb +9 -50
- data/lib/algolia/version.rb +1 -1
- data/lib/algolia.rb +5 -0
- data/test/algolia/integration/analytics_client_test.rb +6 -2
- data/test/algolia/integration/mocks/mock_requester.rb +13 -11
- data/test/algolia/integration/personalization_client_test.rb +30 -0
- data/test/algolia/integration/recommend_client_test.rb +70 -0
- data/test/algolia/integration/search_client_test.rb +107 -12
- data/test/algolia/integration/search_index_test.rb +3 -0
- data/test/test_helper.rb +28 -0
- metadata +13 -3
data/test/test_helper.rb
CHANGED
@@ -28,6 +28,22 @@ class Minitest::Test
|
|
28
28
|
@@search_client = Algolia::Search::Client.new(@@search_config)
|
29
29
|
end
|
30
30
|
|
31
|
+
def assert_requests(requester, requests)
|
32
|
+
refute_empty requests
|
33
|
+
refute_nil requester
|
34
|
+
|
35
|
+
actual_requests = requester.requests
|
36
|
+
assert_equal requests.size, actual_requests.size
|
37
|
+
|
38
|
+
requests.each_with_index do |expected_request, i|
|
39
|
+
request = actual_requests[i]
|
40
|
+
|
41
|
+
assert_equal(expected_request[:body], request[:body])
|
42
|
+
assert_equal(expected_request[:method], request[:method])
|
43
|
+
assert_equal(expected_request[:path], request[:path])
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
31
47
|
def check_environment_variables
|
32
48
|
raise Algolia::AlgoliaError, 'ALGOLIA_APPLICATION_ID_1 must be defined' if ENV['ALGOLIA_APPLICATION_ID_1'].to_s.strip.empty?
|
33
49
|
raise Algolia::AlgoliaError, 'ALGOLIA_ADMIN_KEY_1 must be defined' if ENV['ALGOLIA_ADMIN_KEY_1'].to_s.strip.empty?
|
@@ -87,3 +103,15 @@ def rule_without_metadata(rule)
|
|
87
103
|
rule.delete(:_metadata)
|
88
104
|
rule
|
89
105
|
end
|
106
|
+
|
107
|
+
def retry_test(delay = 0.1, max_retries = 30)
|
108
|
+
(1...max_retries).each do |i|
|
109
|
+
begin
|
110
|
+
return yield
|
111
|
+
rescue Algolia::AlgoliaHttpError
|
112
|
+
sleep delay * i
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
raise StandardError, 'reached the maximum number of retries'
|
117
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: algolia
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Algolia
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-11-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -200,6 +200,7 @@ files:
|
|
200
200
|
- ".rubocop_todo.yml"
|
201
201
|
- CHANGELOG.md
|
202
202
|
- CODE_OF_CONDUCT.md
|
203
|
+
- CONTRIBUTING.MD
|
203
204
|
- DOCKER_README.MD
|
204
205
|
- Dockerfile
|
205
206
|
- Gemfile
|
@@ -217,6 +218,8 @@ files:
|
|
217
218
|
- lib/algolia/config/analytics_config.rb
|
218
219
|
- lib/algolia/config/base_config.rb
|
219
220
|
- lib/algolia/config/insights_config.rb
|
221
|
+
- lib/algolia/config/personalization_config.rb
|
222
|
+
- lib/algolia/config/recommend_config.rb
|
220
223
|
- lib/algolia/config/recommendation_config.rb
|
221
224
|
- lib/algolia/config/search_config.rb
|
222
225
|
- lib/algolia/defaults.rb
|
@@ -233,10 +236,13 @@ files:
|
|
233
236
|
- lib/algolia/iterators/rule_iterator.rb
|
234
237
|
- lib/algolia/iterators/synonym_iterator.rb
|
235
238
|
- lib/algolia/logger_helper.rb
|
239
|
+
- lib/algolia/personalization_client.rb
|
240
|
+
- lib/algolia/recommend_client.rb
|
236
241
|
- lib/algolia/recommendation_client.rb
|
237
242
|
- lib/algolia/responses/add_api_key_response.rb
|
238
243
|
- lib/algolia/responses/base_response.rb
|
239
244
|
- lib/algolia/responses/delete_api_key_response.rb
|
245
|
+
- lib/algolia/responses/dictionary_response.rb
|
240
246
|
- lib/algolia/responses/indexing_response.rb
|
241
247
|
- lib/algolia/responses/multiple_batch_indexing_response.rb
|
242
248
|
- lib/algolia/responses/multiple_response.rb
|
@@ -272,6 +278,8 @@ files:
|
|
272
278
|
- test/algolia/integration/base_test.rb
|
273
279
|
- test/algolia/integration/insights_client_test.rb
|
274
280
|
- test/algolia/integration/mocks/mock_requester.rb
|
281
|
+
- test/algolia/integration/personalization_client_test.rb
|
282
|
+
- test/algolia/integration/recommend_client_test.rb
|
275
283
|
- test/algolia/integration/recommendation_client_test.rb
|
276
284
|
- test/algolia/integration/search_client_test.rb
|
277
285
|
- test/algolia/integration/search_index_test.rb
|
@@ -303,7 +311,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
303
311
|
- !ruby/object:Gem::Version
|
304
312
|
version: '0'
|
305
313
|
requirements: []
|
306
|
-
rubygems_version: 3.0.
|
314
|
+
rubygems_version: 3.0.6
|
307
315
|
signing_key:
|
308
316
|
specification_version: 4
|
309
317
|
summary: A simple Ruby client for the algolia.com REST API
|
@@ -313,6 +321,8 @@ test_files:
|
|
313
321
|
- test/algolia/integration/base_test.rb
|
314
322
|
- test/algolia/integration/insights_client_test.rb
|
315
323
|
- test/algolia/integration/mocks/mock_requester.rb
|
324
|
+
- test/algolia/integration/personalization_client_test.rb
|
325
|
+
- test/algolia/integration/recommend_client_test.rb
|
316
326
|
- test/algolia/integration/recommendation_client_test.rb
|
317
327
|
- test/algolia/integration/search_client_test.rb
|
318
328
|
- test/algolia/integration/search_index_test.rb
|