turbopuffer-ruby 0.2.6 → 1.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e68ecf643e3ef570edf2c61bfb412c27d9c2c17fbaf5e4c614c7d5aa2afa3e05
4
- data.tar.gz: '095f4ccefed27b4a1479ecdb5c10a88a7a2017f1aa4f25188c321b206765aba4'
3
+ metadata.gz: f091337e35dc13f829362b2d79249003d373c724182a54308c55de04426a6a2d
4
+ data.tar.gz: 4a33c71ad3fdd780338375025da14a883cacd8e1ea7fda64f690ec048afb4f34
5
5
  SHA512:
6
- metadata.gz: febffe23d0069251a67e807e34cb502bf9a40bd819e755c72a7c6c369898143145767c6fb8362c2e66138247abc9886dd04154c37be11aeaf20cb05230249314
7
- data.tar.gz: d6be41a93adaf04d4c3eacb77ff1e9efff4fe2d38ad616f5d70da99b5e8834f31c9babded64d1a1f84645d6a4fc9146bbb625647890ad1adbe1683ecaf24b41b
6
+ metadata.gz: fa9bb25c3a0b1f3b4ed39575e580a47211f7c90705af28d8984144ece785bac8d5150aa791a3510cc0adf5446dcec304d8d006142260bec315f4c4ac6e4ecd00
7
+ data.tar.gz: 2f84f94bc744e59b5240e927df17ae45395747b4867e6564cf4dd8ec520079b07b4db36555889a1a619dfc962231e265c5aff6f6065346d4a7bf29d6830422b7
data/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.0 (2025-08-28)
4
+
5
+ Full Changelog: [v0.2.6...v1.0.0](https://github.com/turbopuffer/turbopuffer-ruby/compare/v0.2.6...v1.0.0)
6
+
7
+ ### Features
8
+
9
+ * Make word_v2 the default FTS tokenizer ([80b7df4](https://github.com/turbopuffer/turbopuffer-ruby/commit/80b7df45beb96368a97af615330eb9bdff415577))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * bump sorbet version and fix new type errors from the breaking change ([751bf80](https://github.com/turbopuffer/turbopuffer-ruby/commit/751bf8010f07d33521d73c40b49ca341f9d26505))
15
+
16
+
17
+ ### Chores
18
+
19
+ * add json schema comment for rubocop.yml ([ce20bd0](https://github.com/turbopuffer/turbopuffer-ruby/commit/ce20bd0db6a9cead8cd66874a29a4c99c857b31e))
20
+
3
21
  ## 0.2.6 (2025-08-18)
4
22
 
5
23
  Full Changelog: [v0.2.5...v0.2.6](https://github.com/turbopuffer/turbopuffer-ruby/compare/v0.2.5...v0.2.6)
data/README.md CHANGED
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "turbopuffer-ruby", "~> 0.2.6"
20
+ gem "turbopuffer-ruby", "~> 1.0.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -193,15 +193,7 @@ module Turbopuffer
193
193
  end
194
194
 
195
195
  define_sorbet_constant!(:Request) do
196
- T.type_alias do
197
- {
198
- method: Symbol,
199
- url: URI::Generic,
200
- headers: T::Hash[String, String],
201
- body: T.anything,
202
- deadline: Float
203
- }
204
- end
196
+ T.type_alias { {method: Symbol, url: URI::Generic, headers: T::Hash[String, String], body: T.anything, deadline: Float} }
205
197
  end
206
198
  end
207
199
  end
@@ -64,14 +64,7 @@ module Turbopuffer
64
64
  setter = :"#{name_sym}="
65
65
  api_name = info.fetch(:api_name, name_sym)
66
66
  nilable = info.fetch(:nil?, false)
67
- const = if required && !nilable
68
- info.fetch(
69
- :const,
70
- Turbopuffer::Internal::OMIT
71
- )
72
- else
73
- Turbopuffer::Internal::OMIT
74
- end
67
+ const = required && !nilable ? info.fetch(:const, Turbopuffer::Internal::OMIT) : Turbopuffer::Internal::OMIT
75
68
 
76
69
  [name_sym, setter].each { undef_method(_1) } if known_fields.key?(name_sym)
77
70
 
@@ -244,7 +244,7 @@ module Turbopuffer
244
244
  #
245
245
  # @return [String]
246
246
  def uri_origin(uri)
247
- "#{uri.scheme}://#{uri.host}#{uri.port == uri.default_port ? '' : ":#{uri.port}"}"
247
+ "#{uri.scheme}://#{uri.host}#{":#{uri.port}" unless uri.port == uri.default_port}"
248
248
  end
249
249
 
250
250
  # @api private
@@ -51,7 +51,8 @@ module Turbopuffer
51
51
  optional :stemming, Turbopuffer::Internal::Type::Boolean
52
52
 
53
53
  # @!attribute tokenizer
54
- # The tokenizer to use for full-text search on an attribute.
54
+ # The tokenizer to use for full-text search on an attribute. Defaults to
55
+ # `word_v2`.
55
56
  #
56
57
  # @return [Symbol, Turbopuffer::Models::Tokenizer, nil]
57
58
  optional :tokenizer, enum: -> { Turbopuffer::Tokenizer }
@@ -76,7 +77,7 @@ module Turbopuffer
76
77
  #
77
78
  # @param stemming [Boolean] Language-specific stemming for the text. Defaults to `false` (i.e., do not stem)
78
79
  #
79
- # @param tokenizer [Symbol, Turbopuffer::Models::Tokenizer] The tokenizer to use for full-text search on an attribute.
80
+ # @param tokenizer [Symbol, Turbopuffer::Models::Tokenizer] The tokenizer to use for full-text search on an attribute. Defaults to `word_v2`
80
81
  end
81
82
  end
82
83
  end
@@ -2,13 +2,15 @@
2
2
 
3
3
  module Turbopuffer
4
4
  module Models
5
- # The tokenizer to use for full-text search on an attribute.
5
+ # The tokenizer to use for full-text search on an attribute. Defaults to
6
+ # `word_v2`.
6
7
  module Tokenizer
7
8
  extend Turbopuffer::Internal::Type::Enum
8
9
 
9
10
  PRE_TOKENIZED_ARRAY = :pre_tokenized_array
10
11
  WORD_V0 = :word_v0
11
12
  WORD_V1 = :word_v1
13
+ WORD_V2 = :word_v2
12
14
 
13
15
  # @!method self.values
14
16
  # @return [Array<Symbol>]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Turbopuffer
4
- VERSION = "0.2.6"
4
+ VERSION = "1.0.0"
5
5
  end
@@ -59,10 +59,10 @@ module Turbopuffer
59
59
  end
60
60
 
61
61
  class APIConnectionError < Turbopuffer::Errors::APIError
62
- sig { void }
62
+ sig { returns(NilClass) }
63
63
  attr_accessor :status
64
64
 
65
- sig { void }
65
+ sig { returns(NilClass) }
66
66
  attr_accessor :body
67
67
 
68
68
  # @api private
@@ -65,7 +65,8 @@ module Turbopuffer
65
65
  sig { params(stemming: T::Boolean).void }
66
66
  attr_writer :stemming
67
67
 
68
- # The tokenizer to use for full-text search on an attribute.
68
+ # The tokenizer to use for full-text search on an attribute. Defaults to
69
+ # `word_v2`.
69
70
  sig { returns(T.nilable(Turbopuffer::Tokenizer::OrSymbol)) }
70
71
  attr_reader :tokenizer
71
72
 
@@ -105,7 +106,8 @@ module Turbopuffer
105
106
  # Language-specific stemming for the text. Defaults to `false` (i.e., do not
106
107
  # stem).
107
108
  stemming: nil,
108
- # The tokenizer to use for full-text search on an attribute.
109
+ # The tokenizer to use for full-text search on an attribute. Defaults to
110
+ # `word_v2`.
109
111
  tokenizer: nil
110
112
  )
111
113
  end
@@ -2,7 +2,8 @@
2
2
 
3
3
  module Turbopuffer
4
4
  module Models
5
- # The tokenizer to use for full-text search on an attribute.
5
+ # The tokenizer to use for full-text search on an attribute. Defaults to
6
+ # `word_v2`.
6
7
  module Tokenizer
7
8
  extend Turbopuffer::Internal::Type::Enum
8
9
 
@@ -13,6 +14,7 @@ module Turbopuffer
13
14
  T.let(:pre_tokenized_array, Turbopuffer::Tokenizer::TaggedSymbol)
14
15
  WORD_V0 = T.let(:word_v0, Turbopuffer::Tokenizer::TaggedSymbol)
15
16
  WORD_V1 = T.let(:word_v1, Turbopuffer::Tokenizer::TaggedSymbol)
17
+ WORD_V2 = T.let(:word_v2, Turbopuffer::Tokenizer::TaggedSymbol)
16
18
 
17
19
  sig { override.returns(T::Array[Turbopuffer::Tokenizer::TaggedSymbol]) }
18
20
  def self.values
@@ -1,6 +1,6 @@
1
1
  module Turbopuffer
2
2
  module Models
3
- type tokenizer = :pre_tokenized_array | :word_v0 | :word_v1
3
+ type tokenizer = :pre_tokenized_array | :word_v0 | :word_v1 | :word_v2
4
4
 
5
5
  module Tokenizer
6
6
  extend Turbopuffer::Internal::Type::Enum
@@ -8,6 +8,7 @@ module Turbopuffer
8
8
  PRE_TOKENIZED_ARRAY: :pre_tokenized_array
9
9
  WORD_V0: :word_v0
10
10
  WORD_V1: :word_v1
11
+ WORD_V2: :word_v2
11
12
 
12
13
  def self?.values: -> ::Array[Turbopuffer::Models::tokenizer]
13
14
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: turbopuffer-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Turbopuffer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-08-18 00:00:00.000000000 Z
11
+ date: 2025-08-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: connection_pool