typesense 3.0.0 → 3.1.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/.rubocop.yml +2 -2
- data/Gemfile +1 -1
- data/examples/collections_and_documents.rb +10 -0
- data/lib/typesense/api_call.rb +3 -3
- data/lib/typesense/collection.rb +1 -1
- data/lib/typesense/documents.rb +14 -1
- data/lib/typesense/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2a0379d3dc00550512f8f4dfe1ac9ba0bf795c25b1cd16408c2fa4860d3e660c
|
4
|
+
data.tar.gz: 667063f3de32cfdf6cf058e1968bd6532039e5c1daed83b7cf743fd5fbf72c73
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5cee658c49094c1b6ab8315a4143362c0432281a4b552e369d996c201a5fea1eeadf682fe9ba0f5bb9e08372e1b80f3acfd833e7adb175afccfbc4489727c09c
|
7
|
+
data.tar.gz: b23ef816467f344fe1d3dfea059713151fd1d806fc7776f039bb96a9f18badf982e20f69b429bc633b0b201ef9158a61d774f149bbd952880d24abd26a293ee0
|
data/.rubocop.yml
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
plugins: rubocop-rspec
|
2
2
|
|
3
3
|
AllCops:
|
4
4
|
NewCops: enable
|
@@ -48,4 +48,4 @@ RSpec/MultipleExpectations:
|
|
48
48
|
Enabled: false
|
49
49
|
|
50
50
|
Style/HashSyntax:
|
51
|
-
Enabled: false # We still want to support older versions of Ruby
|
51
|
+
Enabled: false # We still want to support older versions of Ruby
|
data/Gemfile
CHANGED
@@ -16,7 +16,7 @@ gem 'rspec', '~> 3.9'
|
|
16
16
|
gem 'rspec_junit_formatter', '~> 0.4'
|
17
17
|
gem 'rspec-legacy_formatters', '~> 1.0' # For codecov formatter
|
18
18
|
gem 'rubocop', '~> 1.12'
|
19
|
-
gem 'rubocop-rspec', '~>
|
19
|
+
gem 'rubocop-rspec', '~> 3.6', require: false
|
20
20
|
gem 'simplecov', '~> 0.18'
|
21
21
|
gem 'timecop', '~> 0.9'
|
22
22
|
gem 'webmock', '~> 3.8'
|
@@ -145,6 +145,16 @@ ap collection
|
|
145
145
|
# "num_documents" => 0
|
146
146
|
# }
|
147
147
|
|
148
|
+
###
|
149
|
+
# Truncate a collection
|
150
|
+
# Truncation returns the number of documents deleted
|
151
|
+
collection = @typesense.collections['companies'].documents.truncate
|
152
|
+
ap collection
|
153
|
+
|
154
|
+
# {
|
155
|
+
# "num_deleted": 125
|
156
|
+
# }
|
157
|
+
|
148
158
|
# Let's create the collection again for use in our remaining examples
|
149
159
|
@typesense.collections.create(schema)
|
150
160
|
|
data/lib/typesense/api_call.rb
CHANGED
@@ -85,7 +85,7 @@ module Typesense
|
|
85
85
|
req.body = body
|
86
86
|
end
|
87
87
|
end
|
88
|
-
set_node_healthcheck(node, is_healthy: true) if response.status
|
88
|
+
set_node_healthcheck(node, is_healthy: true) if response.status.between?(1, 499)
|
89
89
|
|
90
90
|
@logger.debug "Request #{method}:#{uri_for(endpoint, node)} to Node #{node[:index]} was successfully made (at the network layer). response.status was #{response.status}."
|
91
91
|
|
@@ -96,7 +96,7 @@ module Typesense
|
|
96
96
|
end
|
97
97
|
|
98
98
|
# If response is 2xx return the object, else raise the response as an exception
|
99
|
-
return parsed_response if response.status
|
99
|
+
return parsed_response if response.status.between?(200, 299)
|
100
100
|
|
101
101
|
exception_message = (parsed_response && parsed_response['message']) || 'Error'
|
102
102
|
raise custom_exception_klass_for(response), exception_message
|
@@ -190,7 +190,7 @@ module Typesense
|
|
190
190
|
Typesense::Error::ObjectAlreadyExists.new(response: response)
|
191
191
|
elsif response.status == 422
|
192
192
|
Typesense::Error::ObjectUnprocessable.new(response: response)
|
193
|
-
elsif response.status
|
193
|
+
elsif response.status.between?(500, 599)
|
194
194
|
Typesense::Error::ServerError.new(response: response)
|
195
195
|
elsif response.respond_to?(:timed_out?) && response.timed_out?
|
196
196
|
Typesense::Error::TimeoutError.new(response: response)
|
data/lib/typesense/collection.rb
CHANGED
data/lib/typesense/documents.rb
CHANGED
@@ -50,7 +50,16 @@ module Typesense
|
|
50
50
|
)
|
51
51
|
|
52
52
|
if documents.is_a?(Array)
|
53
|
-
results_in_jsonl_format.split("\n").map
|
53
|
+
results_in_jsonl_format.split("\n").map do |r|
|
54
|
+
Oj.load(r)
|
55
|
+
rescue Oj::ParseError => e
|
56
|
+
{
|
57
|
+
'success' => false,
|
58
|
+
'exception' => e.class.name,
|
59
|
+
'error' => e.message,
|
60
|
+
'json' => r
|
61
|
+
}
|
62
|
+
end
|
54
63
|
else
|
55
64
|
results_in_jsonl_format
|
56
65
|
end
|
@@ -72,6 +81,10 @@ module Typesense
|
|
72
81
|
@api_call.delete(endpoint_path, query_parameters)
|
73
82
|
end
|
74
83
|
|
84
|
+
def truncate
|
85
|
+
@api_call.delete(endpoint_path, { truncate: true })
|
86
|
+
end
|
87
|
+
|
75
88
|
private
|
76
89
|
|
77
90
|
def endpoint_path(operation = nil)
|
data/lib/typesense/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: typesense
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Typesense, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-04-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: base64
|