algolia 2.0.2 → 2.2.0
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/.circleci/config.yml +10 -1
- data/.dockerignore +38 -0
- data/.gitignore +1 -0
- data/CHANGELOG.md +36 -6
- data/CONTRIBUTING.MD +184 -0
- data/DOCKER_README.MD +89 -0
- data/Dockerfile +7 -0
- data/README.md +1 -1
- data/lib/algolia/config/recommend_config.rb +6 -0
- data/lib/algolia/helpers.rb +49 -0
- data/lib/algolia/http/http_requester.rb +4 -4
- data/lib/algolia/recommend_client.rb +134 -0
- 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 +3 -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/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 +12 -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.0
|
4
|
+
version: 2.2.0
|
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-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -192,6 +192,7 @@ extensions: []
|
|
192
192
|
extra_rdoc_files: []
|
193
193
|
files:
|
194
194
|
- ".circleci/config.yml"
|
195
|
+
- ".dockerignore"
|
195
196
|
- ".github/ISSUE_TEMPLATE.md"
|
196
197
|
- ".github/PULL_REQUEST_TEMPLATE.md"
|
197
198
|
- ".gitignore"
|
@@ -199,6 +200,9 @@ files:
|
|
199
200
|
- ".rubocop_todo.yml"
|
200
201
|
- CHANGELOG.md
|
201
202
|
- CODE_OF_CONDUCT.md
|
203
|
+
- CONTRIBUTING.MD
|
204
|
+
- DOCKER_README.MD
|
205
|
+
- Dockerfile
|
202
206
|
- Gemfile
|
203
207
|
- LICENSE
|
204
208
|
- README.md
|
@@ -214,6 +218,7 @@ files:
|
|
214
218
|
- lib/algolia/config/analytics_config.rb
|
215
219
|
- lib/algolia/config/base_config.rb
|
216
220
|
- lib/algolia/config/insights_config.rb
|
221
|
+
- lib/algolia/config/recommend_config.rb
|
217
222
|
- lib/algolia/config/recommendation_config.rb
|
218
223
|
- lib/algolia/config/search_config.rb
|
219
224
|
- lib/algolia/defaults.rb
|
@@ -230,10 +235,12 @@ files:
|
|
230
235
|
- lib/algolia/iterators/rule_iterator.rb
|
231
236
|
- lib/algolia/iterators/synonym_iterator.rb
|
232
237
|
- lib/algolia/logger_helper.rb
|
238
|
+
- lib/algolia/recommend_client.rb
|
233
239
|
- lib/algolia/recommendation_client.rb
|
234
240
|
- lib/algolia/responses/add_api_key_response.rb
|
235
241
|
- lib/algolia/responses/base_response.rb
|
236
242
|
- lib/algolia/responses/delete_api_key_response.rb
|
243
|
+
- lib/algolia/responses/dictionary_response.rb
|
237
244
|
- lib/algolia/responses/indexing_response.rb
|
238
245
|
- lib/algolia/responses/multiple_batch_indexing_response.rb
|
239
246
|
- lib/algolia/responses/multiple_response.rb
|
@@ -269,6 +276,7 @@ files:
|
|
269
276
|
- test/algolia/integration/base_test.rb
|
270
277
|
- test/algolia/integration/insights_client_test.rb
|
271
278
|
- test/algolia/integration/mocks/mock_requester.rb
|
279
|
+
- test/algolia/integration/recommend_client_test.rb
|
272
280
|
- test/algolia/integration/recommendation_client_test.rb
|
273
281
|
- test/algolia/integration/search_client_test.rb
|
274
282
|
- test/algolia/integration/search_index_test.rb
|
@@ -300,7 +308,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
300
308
|
- !ruby/object:Gem::Version
|
301
309
|
version: '0'
|
302
310
|
requirements: []
|
303
|
-
rubygems_version: 3.0.
|
311
|
+
rubygems_version: 3.0.6
|
304
312
|
signing_key:
|
305
313
|
specification_version: 4
|
306
314
|
summary: A simple Ruby client for the algolia.com REST API
|
@@ -310,6 +318,7 @@ test_files:
|
|
310
318
|
- test/algolia/integration/base_test.rb
|
311
319
|
- test/algolia/integration/insights_client_test.rb
|
312
320
|
- test/algolia/integration/mocks/mock_requester.rb
|
321
|
+
- test/algolia/integration/recommend_client_test.rb
|
313
322
|
- test/algolia/integration/recommendation_client_test.rb
|
314
323
|
- test/algolia/integration/search_client_test.rb
|
315
324
|
- test/algolia/integration/search_index_test.rb
|