@@ -4679,7 +4679,9 @@ cb_extract_bucket_settings(const couchbase::core::management::cluster::bucket_se
4679
4679
rb_hash_aset (bucket, rb_id2sym (rb_intern (" name" )), cb_str_new (entry.name ));
4680
4680
rb_hash_aset (bucket, rb_id2sym (rb_intern (" uuid" )), cb_str_new (entry.uuid ));
4681
4681
rb_hash_aset (bucket, rb_id2sym (rb_intern (" ram_quota_mb" )), ULL2NUM (entry.ram_quota_mb ));
4682
- rb_hash_aset (bucket, rb_id2sym (rb_intern (" max_expiry" )), ULONG2NUM (entry.max_expiry ));
4682
+ if (const auto &val = entry.max_expiry ; val.has_value ()) {
4683
+ rb_hash_aset (bucket, rb_id2sym (rb_intern (" max_expiry" )), ULONG2NUM (val.value ()));
4684
+ }
4683
4685
switch (entry.compression_mode ) {
4684
4686
case couchbase::core::management::cluster::bucket_compression::off:
4685
4687
rb_hash_aset (bucket, rb_id2sym (rb_intern (" compression_mode" )), rb_id2sym (rb_intern (" off" )));
@@ -4694,7 +4696,9 @@ cb_extract_bucket_settings(const couchbase::core::management::cluster::bucket_se
4694
4696
rb_hash_aset (bucket, rb_id2sym (rb_intern (" compression_mode" )), Qnil);
4695
4697
break ;
4696
4698
}
4697
- rb_hash_aset (bucket, rb_id2sym (rb_intern (" num_replicas" )), ULONG2NUM (entry.num_replicas ));
4699
+ if (const auto &val = entry.num_replicas ; val.has_value ()) {
4700
+ rb_hash_aset (bucket, rb_id2sym (rb_intern (" num_replicas" )), ULONG2NUM (val.value ()));
4701
+ }
4698
4702
rb_hash_aset (bucket, rb_id2sym (rb_intern (" replica_indexes" )), entry.replica_indexes ? Qtrue : Qfalse);
4699
4703
rb_hash_aset (bucket, rb_id2sym (rb_intern (" flush_enabled" )), entry.flush_enabled ? Qtrue : Qfalse);
4700
4704
switch (entry.eviction_policy ) {
@@ -4750,8 +4754,12 @@ cb_extract_bucket_settings(const couchbase::core::management::cluster::bucket_se
4750
4754
rb_id2sym (rb_intern (" history_retention_collection_default" )),
4751
4755
entry.history_retention_collection_default .value () ? Qtrue : Qfalse);
4752
4756
}
4753
- rb_hash_aset (bucket, rb_id2sym (rb_intern (" history_retention_bytes" )), ULONG2NUM (entry.history_retention_bytes ));
4754
- rb_hash_aset (bucket, rb_id2sym (rb_intern (" history_retention_duration" )), ULONG2NUM (entry.history_retention_duration ));
4757
+ if (const auto &val = entry.history_retention_bytes ; val.has_value ()) {
4758
+ rb_hash_aset (bucket, rb_id2sym (rb_intern (" history_retention_bytes" )), ULONG2NUM (val.value ()));
4759
+ }
4760
+ if (const auto &val = entry.history_retention_duration ; val.has_value ()) {
4761
+ rb_hash_aset (bucket, rb_id2sym (rb_intern (" history_retention_duration" )), ULONG2NUM (val.value ()));
4762
+ }
4755
4763
4756
4764
VALUE capabilities = rb_ary_new_capa (static_cast <long >(entry.capabilities .size ()));
4757
4765
for (const auto & capa : entry.capabilities ) {
0 commit comments