couchbase 3.5.5-x86_64-linux-musl → 3.5.6-x86_64-linux-musl

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: 06ee350a362fd362e298aadb5c226b1d6e7feec5f5aa04fa75dea85d530cf97b
4
- data.tar.gz: 7b145e3a260bf954cfac7b8883f40d7179ff8429637bfddf852c1b08e4f60faf
3
+ metadata.gz: 223d16fe4ad120b977df22ed29bbc7b82e570449f6540f30d631c63cdf25dd21
4
+ data.tar.gz: 1d0095aa3dc051f9eeaf7b4a182aaa2874d3d2768cc026717f16335f5b329c1b
5
5
  SHA512:
6
- metadata.gz: 2d89f6f7ee4591afab0efcabe2cbf32436c4f7f3ce2ff2bb90487b3b680884c5bc3c961889908a65e251ff845a60f00f9f01f3d49d4077c8e21285a8b0f235dc
7
- data.tar.gz: 4adf26e02ed9e619e8bae5d26718c3456b6764422edc8d171e5d90e41bf8c3478416e73ddb1443ecd6a0f7f27505d6fa18ab10c7c02ce4894b72e3ded3f9ec47
6
+ metadata.gz: fe5f1d0ca8cb0437aab3903fcfb8597f37522a23322bc82564634cf261a014bac35cf46c1c21fc321e446bebfbd1dafba07dd06565002ca1889251b493273b8f
7
+ data.tar.gz: 0a53435c54db31a4b28c0f2ba38e713a803c046bedf9f71d8100474fb1394ca3e3693ba61ff75a8d8f83dab01d6477e59e7b736a9d6a25ecc5028ddc1ada2610
data/README.md CHANGED
@@ -23,7 +23,7 @@ The library has been tested with MRI 3.1, 3.2 and 3.3. Supported platforms are L
23
23
  Add this line to your application's Gemfile:
24
24
 
25
25
  ```ruby
26
- gem "couchbase", "3.5.5"
26
+ gem "couchbase", "3.5.6"
27
27
  ```
28
28
 
29
29
  And then execute:
Binary file
Binary file
Binary file
@@ -134,13 +134,5 @@ module Couchbase
134
134
  end
135
135
  end
136
136
  end
137
-
138
- # @api private
139
- # TODO: deprecate in 3.1
140
- PingOptions = ::Couchbase::Options::Ping
141
-
142
- # @api private
143
- # TODO: deprecate in 3.1
144
- ViewOptions = ::Couchbase::Options::View
145
137
  end
146
138
  end
@@ -48,7 +48,7 @@ module Couchbase
48
48
  # @param [Options::Cluster, nil] options custom options when creating the cluster connection
49
49
  #
50
50
  # @example Explicitly create options object and initialize PasswordAuthenticator internally
51
- # options = Cluster::ClusterOptions.new
51
+ # options = Options::Cluster.new
52
52
  # options.authenticate("Administrator", "password")
53
53
  # Cluster.connect("couchbase://localhost", options)
54
54
  #
@@ -354,7 +354,7 @@ module Couchbase
354
354
  raise ArgumentError, "options must have authenticator configured"
355
355
  end
356
356
  else
357
- raise ArgumentError, "unexpected second argument, have to be String or ClusterOptions"
357
+ raise ArgumentError, "unexpected second argument, have to be String or Options::Cluster"
358
358
  end
359
359
  end
360
360
 
@@ -447,16 +447,5 @@ module Couchbase
447
447
  end
448
448
  end
449
449
  end
450
-
451
- # @api private
452
- ClusterOptions = ::Couchbase::Options::Cluster
453
- # @api private
454
- DiagnosticsOptions = ::Couchbase::Options::Diagnostics
455
- # @api private
456
- AnalyticsOptions = ::Couchbase::Options::Analytics
457
- # @api private
458
- QueryOptions = ::Couchbase::Options::Query
459
- # @api private
460
- SearchOptions = ::Couchbase::Options::Search
461
450
  end
462
451
  end
@@ -660,48 +660,5 @@ module Couchbase
660
660
  end
661
661
  end
662
662
  end
663
-
664
- # @api private
665
- # TODO: deprecate in 3.1
666
- GetOptions = ::Couchbase::Options::Get
667
- # @api private
668
- # TODO: deprecate in 3.1
669
- GetAndLockOptions = ::Couchbase::Options::GetAndLock
670
- # @api private
671
- # TODO: deprecate in 3.1
672
- GetAndTouchOptions = ::Couchbase::Options::GetAndTouch
673
- # @api private
674
- # TODO: deprecate in 3.1
675
- LookupInOptions = ::Couchbase::Options::LookupIn
676
- # @api private
677
- # TODO: deprecate in 3.1
678
- MutateInOptions = ::Couchbase::Options::MutateIn
679
- # @api private
680
- # TODO: deprecate in 3.1
681
- UnlockOptions = ::Couchbase::Options::Unlock
682
- # @api private
683
- # TODO: deprecate in 3.1
684
- TouchOptions = ::Couchbase::Options::Touch
685
- # @api private
686
- # TODO: deprecate in 3.1
687
- ReplaceOptions = ::Couchbase::Options::Replace
688
- # @api private
689
- # TODO: deprecate in 3.1
690
- UpsertOptions = ::Couchbase::Options::Upsert
691
- # @api private
692
- # TODO: deprecate in 3.1
693
- InsertOptions = ::Couchbase::Options::Insert
694
- # @api private
695
- # TODO: deprecate in 3.1
696
- RemoveOptions = ::Couchbase::Options::Remove
697
- # @api private
698
- # TODO: deprecate in 3.1
699
- ExistsOptions = ::Couchbase::Options::Exists
700
- # @api private
701
- # TODO: deprecate in 3.1
702
- GetAnyReplicaOptions = ::Couchbase::Options::GetAnyReplica
703
- # @api private
704
- # TODO: deprecate in 3.1
705
- GetAllReplicasOptions = ::Couchbase::Options::GetAllReplicas
706
663
  end
707
664
  end
@@ -80,7 +80,7 @@ module Couchbase
80
80
 
81
81
  # @deprecated Use {#expiry_time}
82
82
  # @return [Integer] the expiration if fetched and present
83
- def expiry # rubocop:disable Style/TrivialAccessors will be removed in next major release
83
+ def expiry # rubocop:disable Style/TrivialAccessors -- will be removed in next major release
84
84
  @expiry
85
85
  end
86
86
 
@@ -211,7 +211,7 @@ module Couchbase
211
211
 
212
212
  # @api private
213
213
  #
214
- # @see MutateInOptions#create_as_deleted
214
+ # @see Options::MutateIn#create_as_deleted
215
215
  #
216
216
  # @return [Boolean] true if the document is a tombstone (created in deleted state)
217
217
  def deleted?
@@ -273,7 +273,7 @@ module Couchbase
273
273
 
274
274
  # @api private
275
275
  #
276
- # @see MutateInOptions#create_as_deleted
276
+ # @see Options::MutateIn#create_as_deleted
277
277
  #
278
278
  # @return [Boolean] true if the document is a tombstone (created in deleted state)
279
279
  def deleted?
@@ -112,7 +112,7 @@ module Couchbase
112
112
  LookupInSpec.get("[-1]"),
113
113
  ], @options.lookup_in_options)
114
114
  obj = result.exists?(0) ? result.content(0) : nil
115
- options = Collection::MutateInOptions.new
115
+ options = Options::MutateIn.new
116
116
  options.cas = result.cas
117
117
  @collection.mutate_in(@id, [
118
118
  MutateInSpec.remove("[-1]"),
@@ -109,7 +109,7 @@ module Couchbase
109
109
  idx = result.content.index(obj)
110
110
  return false unless idx
111
111
 
112
- options = Collection::MutateInOptions.new
112
+ options = Options::MutateIn.new
113
113
  options.cas = result.cas
114
114
  @collection.mutate_in(@id, [
115
115
  MutateInSpec.remove("[#{idx}]"),
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020-2025 Couchbase, Inc.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ module Couchbase
18
+ module Deprecations
19
+ def self.deprecate_constants(removed_in_version, parent, constants)
20
+ deprecator = Module.new do
21
+ define_method(:const_missing) do |old_name|
22
+ return super unless constants.key?(old_name)
23
+
24
+ new_name = constants[old_name]
25
+
26
+ warn "NOTE: #{name}::#{old_name} is deprecated; use Couchbase::#{new_name} instead. " \
27
+ "It will be removed in version #{removed_in_version}."
28
+ Couchbase.const_get(new_name)
29
+ end
30
+ end
31
+ parent.singleton_class.prepend(deprecator)
32
+ end
33
+ end
34
+
35
+ Deprecations.deprecate_constants("3.6.0", Cluster,
36
+ AnalyticsOptions: "Options::Analytics",
37
+ ClusterOptions: "Options::Cluster",
38
+ DiagnosticsOptions: "Options::Diagnostics",
39
+ QueryOptions: "Options::Query",
40
+ SearchOptions: "Options::Search")
41
+
42
+ Deprecations.deprecate_constants("3.6.0", Bucket,
43
+ PingOptions: "Options::Ping",
44
+ ViewOptions: "Options::View")
45
+
46
+ Deprecations.deprecate_constants("3.6.0", Collection,
47
+ ExistsOptions: "Options::Exists",
48
+ GetAllReplicasOptions: "Options::GetAllReplicas",
49
+ GetAndLockOptions: "Options::GetAndLock",
50
+ GetAndTouchOptions: "Options::GetAndTouch",
51
+ GetAnyReplicaOptions: "Options::GetAnyReplica",
52
+ GetOptions: "Options::Get",
53
+ InsertOptions: "Options::Insert",
54
+ LookupInOptions: "Options::LookupIn",
55
+ MutateInOptions: "Options::MutateIn",
56
+ RemoveOptions: "Options::Remove",
57
+ ReplaceOptions: "Options::Replace",
58
+ TouchOptions: "Options::Touch",
59
+ UnlockOptions: "Options::Unlock",
60
+ UpsertOptions: "Options::Upsert")
61
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020-2025 Couchbase, Inc.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ module Couchbase
18
+ module ForkHooks
19
+ def _fork
20
+ Couchbase::Backend.notify_fork(:prepare)
21
+ pid = super
22
+ if pid
23
+ Couchbase::Backend.notify_fork(:parent)
24
+ else
25
+ Couchbase::Backend.notify_fork(:child)
26
+ end
27
+ pid
28
+ end
29
+ end
30
+ end
31
+
32
+ Process.singleton_class.prepend(Couchbase::ForkHooks)
@@ -513,7 +513,7 @@ module Couchbase
513
513
  end
514
514
  end
515
515
 
516
- # rubocop:disable Naming/MethodName constructor shortcuts
516
+ # rubocop:disable Naming/MethodName -- constructor shortcuts
517
517
  module_function
518
518
 
519
519
  # Construct {CreateDataverse} options for {AnalyticsIndexManager#create_dataverse}
@@ -137,7 +137,7 @@ module Couchbase
137
137
  end
138
138
  end
139
139
 
140
- # rubocop:disable Naming/MethodName constructor shortcuts
140
+ # rubocop:disable Naming/MethodName -- constructor shortcuts
141
141
  module_function
142
142
 
143
143
  # Construct {CreateBucket} options for {BucketManager#create_bucket}
@@ -149,7 +149,7 @@ module Couchbase
149
149
  DEFAULT = DropCollection.new.freeze
150
150
  end
151
151
 
152
- # rubocop:disable Naming/MethodName constructor shortcuts
152
+ # rubocop:disable Naming/MethodName -- constructor shortcuts
153
153
  module_function
154
154
 
155
155
  # Construct {GetAllScopes} options for {CollectionManager#get_all_scopes}
@@ -339,7 +339,7 @@ module Couchbase
339
339
  end
340
340
  end
341
341
 
342
- # rubocop:disable Naming/MethodName constructor shortcuts
342
+ # rubocop:disable Naming/MethodName -- constructor shortcuts
343
343
  module_function
344
344
 
345
345
  # Construct {GetAllIndexes} options for {QueryIndexManager#get_all_indexes}
@@ -2392,7 +2392,7 @@ module Couchbase
2392
2392
 
2393
2393
  # @param [:and, :or, nil] vector_query_combination
2394
2394
  #
2395
- # @yieldparam [VectorSearchOptions] self
2395
+ # @yieldparam [Options::VectorSearch] self
2396
2396
  def initialize(vector_query_combination: nil)
2397
2397
  @vector_query_combination = vector_query_combination
2398
2398
 
@@ -2536,7 +2536,7 @@ module Couchbase
2536
2536
  # TODO: deprecate in 3.1
2537
2537
  CommonOptions = ::Couchbase::Options::Base
2538
2538
 
2539
- # rubocop:disable Naming/MethodName constructor shortcuts
2539
+ # rubocop:disable Naming/MethodName -- constructor shortcuts
2540
2540
  module_function
2541
2541
 
2542
2542
  # Construct {Get} options for {Collection#get}
@@ -81,7 +81,7 @@ module Couchbase
81
81
  **proto_opts
82
82
  )
83
83
 
84
- create_query_request(proto_req, :query, options, idempotent: options.readonly && true)
84
+ create_query_request(proto_req, :query, options, idempotent: options.readonly)
85
85
  end
86
86
 
87
87
  private
@@ -58,7 +58,7 @@ module Couchbase
58
58
  # 3. Otherwise invoke #to_i on the argument and interpret it as a number of milliseconds
59
59
  def extract_duration(number_or_duration)
60
60
  return unless number_or_duration
61
- return number_or_duration if number_or_duration.class == Integer # rubocop:disable Style/ClassEqualityComparison avoid overrides of #is_a?, #kind_of?
61
+ return number_or_duration if number_or_duration.class == Integer # rubocop:disable Style/ClassEqualityComparison -- avoid overrides of #is_a?, #kind_of?
62
62
 
63
63
  if number_or_duration.respond_to?(:in_milliseconds)
64
64
  number_or_duration.in_milliseconds
@@ -21,5 +21,5 @@ module Couchbase
21
21
  # $ ruby -rcouchbase -e 'pp Couchbase::VERSION'
22
22
  # {:sdk=>"3.4.0", :ruby_abi=>"3.1.0", :revision=>"416fe68e6029ec8a4c40611cf6e6b30d3b90d20f"}
23
23
  VERSION = {} unless defined?(VERSION) # rubocop:disable Style/MutableConstant
24
- VERSION.update(:sdk => "3.5.5")
24
+ VERSION.update(:sdk => "3.5.6")
25
25
  end
data/lib/couchbase.rb CHANGED
@@ -16,8 +16,10 @@
16
16
 
17
17
  require "couchbase/version"
18
18
  require "couchbase/libcouchbase"
19
+ require "couchbase/fork_hooks"
19
20
  require "couchbase/logger"
20
21
  require "couchbase/cluster"
22
+ require "couchbase/deprecations"
21
23
 
22
24
  require "couchbase/railtie" if defined?(Rails)
23
25
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: couchbase
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.5
4
+ version: 3.5.6
5
5
  platform: x86_64-linux-musl
6
6
  authors:
7
7
  - Sergey Avseyev
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-01-28 00:00:00.000000000 Z
11
+ date: 2025-03-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: grpc
@@ -55,8 +55,10 @@ files:
55
55
  - lib/couchbase/datastructures/couchbase_map.rb
56
56
  - lib/couchbase/datastructures/couchbase_queue.rb
57
57
  - lib/couchbase/datastructures/couchbase_set.rb
58
+ - lib/couchbase/deprecations.rb
58
59
  - lib/couchbase/diagnostics.rb
59
60
  - lib/couchbase/errors.rb
61
+ - lib/couchbase/fork_hooks.rb
60
62
  - lib/couchbase/json_transcoder.rb
61
63
  - lib/couchbase/key_value_scan.rb
62
64
  - lib/couchbase/libcouchbase.rb
@@ -161,9 +163,9 @@ metadata:
161
163
  homepage_uri: https://docs.couchbase.com/ruby-sdk/current/hello-world/start-using-sdk.html
162
164
  bug_tracker_uri: https://jira.issues.couchbase.com/browse/RCBC
163
165
  mailing_list_uri: https://www.couchbase.com/forums/c/ruby-sdk
164
- source_code_uri: https://github.com/couchbase/couchbase-ruby-client/tree/3.5.5
165
- changelog_uri: https://github.com/couchbase/couchbase-ruby-client/releases/tag/3.5.5
166
- documentation_uri: https://docs.couchbase.com/sdk-api/couchbase-ruby-client-3.5.5/index.html
166
+ source_code_uri: https://github.com/couchbase/couchbase-ruby-client/tree/3.5.6
167
+ changelog_uri: https://github.com/couchbase/couchbase-ruby-client/releases/tag/3.5.6
168
+ documentation_uri: https://docs.couchbase.com/sdk-api/couchbase-ruby-client-3.5.6/index.html
167
169
  github_repo: https://github.com/couchbase/couchbase-ruby-client
168
170
  rubygems_mfa_required: 'true'
169
171
  post_install_message: