couchbase 3.4.4 → 3.4.5

Sign up to get free protection for your applications and to get access to all the features.
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
  - - ">="