couchbase 3.4.4 → 3.4.5

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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/ext/couchbase/CMakeLists.txt +7 -0
  4. data/ext/couchbase/core/cluster.hxx +7 -0
  5. data/ext/couchbase/core/impl/create_bucket.cxx +3 -0
  6. data/ext/couchbase/core/impl/create_collection.cxx +83 -0
  7. data/ext/couchbase/core/impl/create_scope.cxx +69 -0
  8. data/ext/couchbase/core/impl/drop_collection.cxx +76 -0
  9. data/ext/couchbase/core/impl/drop_scope.cxx +68 -0
  10. data/ext/couchbase/core/impl/get_all_buckets.cxx +19 -4
  11. data/ext/couchbase/core/impl/get_all_scopes.cxx +94 -0
  12. data/ext/couchbase/core/impl/get_bucket.cxx +19 -4
  13. data/ext/couchbase/core/impl/lookup_in_all_replicas.cxx +2 -0
  14. data/ext/couchbase/core/impl/lookup_in_any_replica.cxx +2 -0
  15. data/ext/couchbase/core/impl/lookup_in_replica.cxx +8 -1
  16. data/ext/couchbase/core/impl/update_bucket.cxx +3 -0
  17. data/ext/couchbase/core/impl/update_collection.cxx +83 -0
  18. data/ext/couchbase/core/management/bucket_settings.hxx +8 -5
  19. data/ext/couchbase/core/management/bucket_settings_json.hxx +12 -2
  20. data/ext/couchbase/core/meta/features.hxx +17 -0
  21. data/ext/couchbase/core/operations/document_lookup_in.cxx +8 -1
  22. data/ext/couchbase/core/operations/management/CMakeLists.txt +1 -0
  23. data/ext/couchbase/core/operations/management/bucket_create.cxx +30 -9
  24. data/ext/couchbase/core/operations/management/bucket_update.cxx +27 -6
  25. data/ext/couchbase/core/operations/management/collection_create.cxx +5 -1
  26. data/ext/couchbase/core/operations/management/collection_create.hxx +1 -0
  27. data/ext/couchbase/core/operations/management/collection_update.cxx +87 -0
  28. data/ext/couchbase/core/operations/management/collection_update.hxx +54 -0
  29. data/ext/couchbase/core/operations/management/collections.hxx +1 -0
  30. data/ext/couchbase/core/timeout_defaults.hxx +1 -1
  31. data/ext/couchbase/core/topology/capabilities.hxx +1 -0
  32. data/ext/couchbase/core/topology/capabilities_fmt.hxx +3 -0
  33. data/ext/couchbase/core/topology/collections_manifest.hxx +2 -0
  34. data/ext/couchbase/core/topology/collections_manifest_json.hxx +3 -0
  35. data/ext/couchbase/core/topology/configuration.hxx +5 -0
  36. data/ext/couchbase/core/topology/configuration_json.hxx +2 -0
  37. data/ext/couchbase/couchbase/bucket.hxx +14 -0
  38. data/ext/couchbase/couchbase/collection_manager.hxx +160 -0
  39. data/ext/couchbase/couchbase/create_collection_options.hxx +44 -0
  40. data/ext/couchbase/couchbase/create_scope_options.hxx +41 -0
  41. data/ext/couchbase/couchbase/drop_collection_options.hxx +41 -0
  42. data/ext/couchbase/couchbase/drop_scope_options.hxx +41 -0
  43. data/ext/couchbase/couchbase/get_all_scopes_options.hxx +44 -0
  44. data/ext/couchbase/couchbase/management/bucket_settings.hxx +8 -5
  45. data/ext/couchbase/couchbase/management/collection_spec.hxx +29 -0
  46. data/ext/couchbase/couchbase/management/scope_spec.hxx +29 -0
  47. data/ext/couchbase/couchbase/update_collection_options.hxx +44 -0
  48. data/ext/couchbase/test/test_integration_management.cxx +305 -48
  49. data/ext/couchbase/test/test_integration_subdoc.cxx +81 -22
  50. data/ext/couchbase.cxx +155 -34
  51. data/ext/revisions.rb +3 -3
  52. data/lib/couchbase/collection_options.rb +1 -2
  53. data/lib/couchbase/management/bucket_manager.rb +22 -15
  54. data/lib/couchbase/management/collection_manager.rb +158 -9
  55. data/lib/couchbase/version.rb +1 -1
  56. metadata +23 -6
@@ -211,12 +211,15 @@ module Couchbase
211
211
  num_replicas: settings.num_replicas,
212
212
  replica_indexes: settings.replica_indexes,
213
213
  bucket_type: settings.bucket_type,
214
- ejection_policy: settings.ejection_policy,
214
+ eviction_policy: settings.eviction_policy,
215
215
  max_expiry: settings.max_expiry,
216
216
  compression_mode: settings.compression_mode,
217
217
  minimum_durability_level: settings.minimum_durability_level,
218
218
  conflict_resolution_type: settings.conflict_resolution_type,
219
219
  storage_backend: settings.storage_backend,
220
+ history_retention_collection_default: settings.history_retention_collection_default,
221
+ history_retention_duration: settings.history_retention_duration,
222
+ history_retention_bytes: settings.history_retention_bytes,
220
223
  }, options.to_backend
221
224
  )
222
225
  end
@@ -239,11 +242,14 @@ module Couchbase
239
242
  num_replicas: settings.num_replicas,
240
243
  replica_indexes: settings.replica_indexes,
241
244
  bucket_type: settings.bucket_type,
242
- ejection_policy: settings.ejection_policy,
245
+ eviction_policy: settings.eviction_policy,
243
246
  max_expiry: settings.max_expiry,
244
247
  compression_mode: settings.compression_mode,
245
248
  minimum_durability_level: settings.minimum_durability_level,
246
249
  storage_backend: settings.storage_backend,
250
+ history_retention_collection_default: settings.history_retention_collection_default,
251
+ history_retention_bytes: settings.history_retention_bytes,
252
+ history_retention_duration: settings.history_retention_duration,
247
253
  }, options.to_backend
248
254
  )
249
255
  end
@@ -334,6 +340,9 @@ module Couchbase
334
340
  bucket.minimum_durability_level = entry[:minimum_durability_level]
335
341
  bucket.compression_mode = entry[:compression_mode]
336
342
  bucket.instance_variable_set(:@healthy, entry[:nodes].all? { |node| node[:status] == "healthy" })
343
+ bucket.history_retention_collection_default = entry[:history_retention_collection_default]
344
+ bucket.history_retention_bytes = entry[:history_retention_bytes]
345
+ bucket.history_retention_duration = entry[:history_retention_duration]
337
346
  end
338
347
  end
339
348
  end
@@ -394,6 +403,17 @@ module Couchbase
394
403
  # @return [nil, :none, :majority, :majority_and_persist_to_active, :persist_to_majority] the minimum durability level
395
404
  attr_accessor :minimum_durability_level
396
405
 
406
+ # @return [Boolean, nil] whether to enable history retention on collections by default
407
+ attr_accessor :history_retention_collection_default
408
+
409
+ # @return [Integer, nil] the maximum size, in bytes, of the change history that is written to disk for all
410
+ # collections in this bucket
411
+ attr_accessor :history_retention_bytes
412
+
413
+ # @return [Integer, nil] the maximum duration, in seconds, to be covered by the change history that is written to disk for all
414
+ # collections in this bucket
415
+ attr_accessor :history_retention_duration
416
+
397
417
  # @api private
398
418
  # @return [Boolean] false if status of the bucket is not healthy
399
419
  def healthy?
@@ -416,19 +436,6 @@ module Couchbase
416
436
 
417
437
  # @yieldparam [BucketSettings] self
418
438
  def initialize
419
- @bucket_type = :couchbase
420
- @name = nil
421
- @minimum_durability_level = nil
422
- @healthy = true
423
- @flush_enabled = false
424
- @ram_quota_mb = 100
425
- @num_replicas = 1
426
- @replica_indexes = false
427
- @max_expiry = 0
428
- @compression_mode = :passive
429
- @conflict_resolution_type = :sequence_number
430
- @eviction_policy = :value_only
431
- @storage_backend = nil
432
439
  yield self if block_given?
433
440
  end
434
441
  end
@@ -38,6 +38,8 @@ module Couchbase
38
38
  super
39
39
  yield self if block_given?
40
40
  end
41
+
42
+ DEFAULT = GetAllScopes.new.freeze
41
43
  end
42
44
 
43
45
  # Options for {CollectionManager#create_scope}
@@ -57,6 +59,8 @@ module Couchbase
57
59
  super
58
60
  yield self if block_given?
59
61
  end
62
+
63
+ DEFAULT = CreateScope.new.freeze
60
64
  end
61
65
 
62
66
  # Options for {CollectionManager#drop_scope}
@@ -76,6 +80,8 @@ module Couchbase
76
80
  super
77
81
  yield self if block_given?
78
82
  end
83
+
84
+ DEFAULT = DropScope.new.freeze
79
85
  end
80
86
 
81
87
  # Options for {CollectionManager#create_collection}
@@ -95,6 +101,29 @@ module Couchbase
95
101
  super
96
102
  yield self if block_given?
97
103
  end
104
+
105
+ DEFAULT = CreateCollection.new.freeze
106
+ end
107
+
108
+ # Options for {CollectionManager#update_collection}
109
+ class UpdateCollection < ::Couchbase::Options::Base
110
+ # Creates an instance of options for {CollectionManager#update_collection}
111
+ #
112
+ # @param [Integer, #in_milliseconds, nil] timeout the time in milliseconds allowed for the operation to complete
113
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
114
+ # @param [Hash, nil] client_context the client context data, if set
115
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
116
+ #
117
+ # @yieldparam [UpdateCollection] self
118
+ def initialize(timeout: nil,
119
+ retry_strategy: nil,
120
+ client_context: nil,
121
+ parent_span: nil)
122
+ super
123
+ yield self if block_given?
124
+ end
125
+
126
+ DEFAULT = UpdateCollection.new.freeze
98
127
  end
99
128
 
100
129
  # Options for {CollectionManager#drop_collection}
@@ -114,6 +143,8 @@ module Couchbase
114
143
  super
115
144
  yield self if block_given?
116
145
  end
146
+
147
+ DEFAULT = DropCollection.new.freeze
117
148
  end
118
149
 
119
150
  # rubocop:disable Naming/MethodName constructor shortcuts
@@ -184,6 +215,8 @@ module Couchbase
184
215
  CollectionSpec.new do |collection|
185
216
  collection.name = c[:name]
186
217
  collection.scope_name = s[:name]
218
+ collection.max_expiry = c[:max_expiry]
219
+ collection.history = c[:history]
187
220
  end
188
221
  end
189
222
  end
@@ -232,29 +265,88 @@ module Couchbase
232
265
  end
233
266
 
234
267
  # Creates a new collection
268
+ # @overload create_collection(scope_name, collection_name, settings = CreateCollectionSettings::DEFAULT,
269
+ # options = Options::Collection::CreateCollection::DEFAULT)
270
+ # @param [String] scope_name the name of the scope the collection will be created in
271
+ # @param [String] collection_name the name of the collection to be created
272
+ # @param [CreateCollectionSettings] settings settings for the new collection
273
+ # @param [Options::Collection::CreateCollection] options
235
274
  #
236
- # @param [CollectionSpec] collection specification of the collection
237
- # @param [Options::Collection::CreateCollection] options
275
+ # @overload create_collection(collection, options = Options::Collection::CreateCollection)
276
+ # @param [CollectionSpec] collection specification of the collection
277
+ # @param [Options::Collection::CreateCollection] options
278
+ #
279
+ # @deprecated Use +#create_collection(scope_name, collection_name, settings, options)+ instead
238
280
  #
239
281
  # @return void
240
282
  #
241
283
  # @raise [ArgumentError]
242
- # @raise [Error::CollectionExist]
284
+ # @raise [Error::CollectionExists]
285
+ # @raise [Error::ScopeNotFound]
286
+ def create_collection(*args)
287
+ if args[0].is_a?(CollectionSpec)
288
+ collection = args[0]
289
+ options = args[1] || Options::Collection::CreateCollection::DEFAULT
290
+ settings = CreateCollectionSettings.new(max_expiry: collection.max_expiry, history: collection.history)
291
+
292
+ warn "Calling create_collection with a CollectionSpec object has been deprecated, supply scope name, " \
293
+ "collection name and optionally a CreateCollectionSettings instance"
294
+
295
+ @backend.collection_create(@bucket_name, collection.scope_name, collection.name, settings.to_backend, options.to_backend)
296
+ else
297
+ scope_name = args[0]
298
+ collection_name = args[1]
299
+ settings = args[2] || CreateCollectionSettings::DEFAULT
300
+ options = args[3] || Options::Collection::CreateCollection::DEFAULT
301
+ @backend.collection_create(@bucket_name, scope_name, collection_name, settings.to_backend, options.to_backend)
302
+ end
303
+ end
304
+
305
+ # Updates the settings of an existing collection
306
+ #
307
+ # @param [String] scope_name the name of the scope the collection is in
308
+ # @param [String] collection_name the name of the collection to be updated
309
+ # @param [UpdateCollectionSettings] settings the settings that should be updated
310
+ #
311
+ # @raise [ArgumentError]
312
+ # @raise [Error::CollectionNotFound]
243
313
  # @raise [Error::ScopeNotFound]
244
- def create_collection(collection, options = Options::Collection::CreateCollection.new)
245
- @backend.collection_create(@bucket_name, collection.scope_name, collection.name, collection.max_expiry, options.to_backend)
314
+ def update_collection(scope_name, collection_name, settings = UpdateCollectionSettings::DEFAULT,
315
+ options = Options::Collection::UpdateCollection::DEFAULT)
316
+ @backend.collection_update(@bucket_name, scope_name, collection_name, settings.to_backend, options.to_backend)
246
317
  end
247
318
 
248
319
  # Removes a collection
320
+ # @overload drop_collection(scope_name, collection_name, settings = CreateCollectionSettings::DEFAULT,
321
+ # options = Options::Collection::CreateCollection::DEFAULT)
322
+ # @param [String] scope_name the name of the scope the collection is in
323
+ # @param [String] collection_name the name of the collection to be removed
249
324
  #
250
- # @param [CollectionSpec] collection specification of the collection
251
- # @param [Options::Collection::DropCollection] options
325
+ # @overload drop_collection(collection, options = Options::Collection::CreateCollection)
326
+ # @param [CollectionSpec] collection specification of the collection
327
+ # @param [Options::Collection::CreateCollection] options
328
+ #
329
+ # @deprecated Use +#drop_collection(scope_name, collection_name, options)+ instead
252
330
  #
253
331
  # @return void
254
332
  #
333
+ # @raise [ArgumentError]
255
334
  # @raise [Error::CollectionNotFound]
256
- def drop_collection(collection, options = Options::Collection::DropCollection.new)
257
- @backend.collection_drop(@bucket_name, collection.scope_name, collection.name, options.to_backend)
335
+ # @raise [Error::ScopeNotFound]
336
+ def drop_collection(*args)
337
+ if args[0].is_a?(CollectionSpec)
338
+ collection = args[0]
339
+ options = args[1] || Options::Collection::CreateCollection::DEFAULT
340
+
341
+ warn "Calling drop_collection with a CollectionSpec object has been deprecated, supply scope name and collection name"
342
+
343
+ @backend.collection_drop(@bucket_name, collection.scope_name, collection.name, options.to_backend)
344
+ else
345
+ scope_name = args[0]
346
+ collection_name = args[1]
347
+ options = args[2] || Options::Collection::CreateCollection::DEFAULT
348
+ @backend.collection_drop(@bucket_name, scope_name, collection_name, options.to_backend)
349
+ end
258
350
  end
259
351
 
260
352
  # @deprecated use {CollectionManager#get_all_scopes} instead
@@ -289,6 +381,60 @@ module Couchbase
289
381
  DropCollectionOptions = ::Couchbase::Management::Options::Collection::DropCollection
290
382
  end
291
383
 
384
+ class CreateCollectionSettings
385
+ # @return [Integer, nil] time in seconds of the maximum expiration time for new documents in the collection
386
+ # (set to +nil+ to disable it)
387
+ attr_accessor :max_expiry
388
+
389
+ # @return [Boolean, nil] whether history retention override should be enabled in the collection (set to +nil+ to
390
+ # default to the bucket-level setting)
391
+ attr_accessor :history
392
+
393
+ def initialize(max_expiry: nil, history: nil)
394
+ @max_expiry = max_expiry
395
+ @history = history
396
+
397
+ yield self if block_given?
398
+ end
399
+
400
+ # @api private
401
+ def to_backend
402
+ {
403
+ max_expiry: @max_expiry,
404
+ history: @history,
405
+ }
406
+ end
407
+
408
+ DEFAULT = CreateCollectionSettings.new.freeze
409
+ end
410
+
411
+ class UpdateCollectionSettings
412
+ # @return [Integer, nil] time in seconds of the maximum expiration time for new documents in the collection
413
+ # (set to +nil+ to disable it)
414
+ attr_accessor :max_expiry
415
+
416
+ # @return [Boolean, nil] whether history retention override should be enabled in the collection (set to +nil+ to
417
+ # default to the bucket-level setting)
418
+ attr_accessor :history
419
+
420
+ def initialize(max_expiry: nil, history: nil)
421
+ @max_expiry = max_expiry
422
+ @history = history
423
+
424
+ yield self if block_given?
425
+ end
426
+
427
+ # @api private
428
+ def to_backend
429
+ {
430
+ max_expiry: @max_expiry,
431
+ history: @history,
432
+ }
433
+ end
434
+
435
+ DEFAULT = UpdateCollectionSettings.new.freeze
436
+ end
437
+
292
438
  class ScopeSpec
293
439
  # @return [String] name of the scope
294
440
  attr_accessor :name
@@ -312,6 +458,9 @@ module Couchbase
312
458
  # @return [Integer] time in seconds of the expiration for new documents in the collection (set to +nil+ to disable it)
313
459
  attr_accessor :max_expiry
314
460
 
461
+ # @return [Boolean, nil] whether history retention is enabled for this collection
462
+ attr_accessor :history
463
+
315
464
  # @yieldparam [CollectionSpec] self
316
465
  def initialize
317
466
  yield self if block_given?
@@ -19,5 +19,5 @@ module Couchbase
19
19
  # $ ruby -rcouchbase -e 'pp Couchbase::VERSION'
20
20
  # {:sdk=>"3.4.0", :ruby_abi=>"3.1.0", :revision=>"416fe68e6029ec8a4c40611cf6e6b30d3b90d20f"}
21
21
  VERSION = {} unless defined?(VERSION) # rubocop:disable Style/MutableConstant
22
- VERSION.update(:sdk => "3.4.4".freeze)
22
+ VERSION.update(:sdk => "3.4.5".freeze)
23
23
  end
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.4.4
4
+ version: 3.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergey Avseyev
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-08-21 00:00:00.000000000 Z
11
+ date: 2023-10-10 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Modern SDK for Couchbase Server
14
14
  email:
@@ -118,7 +118,9 @@ files:
118
118
  - ext/couchbase/core/impl/configuration_profiles_registry.cxx
119
119
  - ext/couchbase/core/impl/conjunction_query.cxx
120
120
  - ext/couchbase/core/impl/create_bucket.cxx
121
+ - ext/couchbase/core/impl/create_collection.cxx
121
122
  - ext/couchbase/core/impl/create_query_index.cxx
123
+ - ext/couchbase/core/impl/create_scope.cxx
122
124
  - ext/couchbase/core/impl/date_range.cxx
123
125
  - ext/couchbase/core/impl/date_range_facet.cxx
124
126
  - ext/couchbase/core/impl/date_range_facet_result.cxx
@@ -128,7 +130,9 @@ files:
128
130
  - ext/couchbase/core/impl/dns_srv_tracker.cxx
129
131
  - ext/couchbase/core/impl/dns_srv_tracker.hxx
130
132
  - ext/couchbase/core/impl/drop_bucket.cxx
133
+ - ext/couchbase/core/impl/drop_collection.cxx
131
134
  - ext/couchbase/core/impl/drop_query_index.cxx
135
+ - ext/couchbase/core/impl/drop_scope.cxx
132
136
  - ext/couchbase/core/impl/encoded_search_facet.hxx
133
137
  - ext/couchbase/core/impl/encoded_search_query.hxx
134
138
  - ext/couchbase/core/impl/encoded_search_sort.hxx
@@ -145,6 +149,7 @@ files:
145
149
  - ext/couchbase/core/impl/get_all_query_indexes.cxx
146
150
  - ext/couchbase/core/impl/get_all_replicas.cxx
147
151
  - ext/couchbase/core/impl/get_all_replicas.hxx
152
+ - ext/couchbase/core/impl/get_all_scopes.cxx
148
153
  - ext/couchbase/core/impl/get_and_lock.cxx
149
154
  - ext/couchbase/core/impl/get_and_touch.cxx
150
155
  - ext/couchbase/core/impl/get_any_replica.cxx
@@ -254,6 +259,7 @@ files:
254
259
  - ext/couchbase/core/impl/transaction_op_error_category.cxx
255
260
  - ext/couchbase/core/impl/unlock.cxx
256
261
  - ext/couchbase/core/impl/update_bucket.cxx
262
+ - ext/couchbase/core/impl/update_collection.cxx
257
263
  - ext/couchbase/core/impl/upsert.cxx
258
264
  - ext/couchbase/core/impl/view_error_category.cxx
259
265
  - ext/couchbase/core/impl/watch_query_indexes.cxx
@@ -478,6 +484,8 @@ files:
478
484
  - ext/couchbase/core/operations/management/collection_create.hxx
479
485
  - ext/couchbase/core/operations/management/collection_drop.cxx
480
486
  - ext/couchbase/core/operations/management/collection_drop.hxx
487
+ - ext/couchbase/core/operations/management/collection_update.cxx
488
+ - ext/couchbase/core/operations/management/collection_update.hxx
481
489
  - ext/couchbase/core/operations/management/collections.hxx
482
490
  - ext/couchbase/core/operations/management/collections_manifest_get.cxx
483
491
  - ext/couchbase/core/operations/management/collections_manifest_get.hxx
@@ -851,6 +859,7 @@ files:
851
859
  - ext/couchbase/couchbase/codec/tao_json_serializer.hxx
852
860
  - ext/couchbase/couchbase/codec/transcoder_traits.hxx
853
861
  - ext/couchbase/couchbase/collection.hxx
862
+ - ext/couchbase/couchbase/collection_manager.hxx
854
863
  - ext/couchbase/couchbase/collection_query_index_manager.hxx
855
864
  - ext/couchbase/couchbase/common_durability_options.hxx
856
865
  - ext/couchbase/couchbase/common_options.hxx
@@ -860,8 +869,10 @@ files:
860
869
  - ext/couchbase/couchbase/conjunction_query.hxx
861
870
  - ext/couchbase/couchbase/counter_result.hxx
862
871
  - ext/couchbase/couchbase/create_bucket_options.hxx
872
+ - ext/couchbase/couchbase/create_collection_options.hxx
863
873
  - ext/couchbase/couchbase/create_primary_query_index_options.hxx
864
874
  - ext/couchbase/couchbase/create_query_index_options.hxx
875
+ - ext/couchbase/couchbase/create_scope_options.hxx
865
876
  - ext/couchbase/couchbase/date_range.hxx
866
877
  - ext/couchbase/couchbase/date_range_facet.hxx
867
878
  - ext/couchbase/couchbase/date_range_facet_result.hxx
@@ -871,8 +882,10 @@ files:
871
882
  - ext/couchbase/couchbase/dns_options.hxx
872
883
  - ext/couchbase/couchbase/doc_id_query.hxx
873
884
  - ext/couchbase/couchbase/drop_bucket_options.hxx
885
+ - ext/couchbase/couchbase/drop_collection_options.hxx
874
886
  - ext/couchbase/couchbase/drop_primary_query_index_options.hxx
875
887
  - ext/couchbase/couchbase/drop_query_index_options.hxx
888
+ - ext/couchbase/couchbase/drop_scope_options.hxx
876
889
  - ext/couchbase/couchbase/durability_level.hxx
877
890
  - ext/couchbase/couchbase/error_codes.hxx
878
891
  - ext/couchbase/couchbase/error_context.hxx
@@ -901,6 +914,7 @@ files:
901
914
  - ext/couchbase/couchbase/get_all_buckets_options.hxx
902
915
  - ext/couchbase/couchbase/get_all_query_indexes_options.hxx
903
916
  - ext/couchbase/couchbase/get_all_replicas_options.hxx
917
+ - ext/couchbase/couchbase/get_all_scopes_options.hxx
904
918
  - ext/couchbase/couchbase/get_and_lock_options.hxx
905
919
  - ext/couchbase/couchbase/get_and_touch_options.hxx
906
920
  - ext/couchbase/couchbase/get_any_replica_options.hxx
@@ -924,7 +938,9 @@ files:
924
938
  - ext/couchbase/couchbase/lookup_in_result.hxx
925
939
  - ext/couchbase/couchbase/lookup_in_specs.hxx
926
940
  - ext/couchbase/couchbase/management/bucket_settings.hxx
941
+ - ext/couchbase/couchbase/management/collection_spec.hxx
927
942
  - ext/couchbase/couchbase/management/query_index.hxx
943
+ - ext/couchbase/couchbase/management/scope_spec.hxx
928
944
  - ext/couchbase/couchbase/manager_error_context.hxx
929
945
  - ext/couchbase/couchbase/match_all_query.hxx
930
946
  - ext/couchbase/couchbase/match_none_query.hxx
@@ -1039,6 +1055,7 @@ files:
1039
1055
  - ext/couchbase/couchbase/transactions/transactions_query_config.hxx
1040
1056
  - ext/couchbase/couchbase/unlock_options.hxx
1041
1057
  - ext/couchbase/couchbase/update_bucket_options.hxx
1058
+ - ext/couchbase/couchbase/update_collection_options.hxx
1042
1059
  - ext/couchbase/couchbase/upsert_options.hxx
1043
1060
  - ext/couchbase/couchbase/wan_development_configuration_profile.hxx
1044
1061
  - ext/couchbase/couchbase/watch_query_indexes_options.hxx
@@ -2428,9 +2445,9 @@ metadata:
2428
2445
  homepage_uri: https://docs.couchbase.com/ruby-sdk/current/hello-world/start-using-sdk.html
2429
2446
  bug_tracker_uri: https://couchbase.com/issues/browse/RCBC
2430
2447
  mailing_list_uri: https://forums.couchbase.com/c/ruby-sdk
2431
- source_code_uri: https://github.com/couchbase/couchbase-ruby-client/tree/3.4.4
2432
- changelog_uri: https://github.com/couchbase/couchbase-ruby-client/releases/tag/3.4.4
2433
- documentation_uri: https://docs.couchbase.com/sdk-api/couchbase-ruby-client-3.4.4/index.html
2448
+ source_code_uri: https://github.com/couchbase/couchbase-ruby-client/tree/3.4.5
2449
+ changelog_uri: https://github.com/couchbase/couchbase-ruby-client/releases/tag/3.4.5
2450
+ documentation_uri: https://docs.couchbase.com/sdk-api/couchbase-ruby-client-3.4.5/index.html
2434
2451
  github_repo: ssh://github.com/couchbase/couchbase-ruby-client
2435
2452
  rubygems_mfa_required: 'true'
2436
2453
  post_install_message:
@@ -2443,7 +2460,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
2443
2460
  requirements:
2444
2461
  - - ">"
2445
2462
  - !ruby/object:Gem::Version
2446
- version: '2.7'
2463
+ version: '3.0'
2447
2464
  required_rubygems_version: !ruby/object:Gem::Requirement
2448
2465
  requirements:
2449
2466
  - - ">="