Skip to content

Commit 6b06312

Browse files
committed
🚚 Compile Config[:defaults] in AttrVersionDefaults
This avoids usage of the private `Config#defaults_hash` method, relying instead on the public `#load_defaults` API.
1 parent abede07 commit 6b06312

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

lib/net/imap/config.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -482,8 +482,6 @@ def defaults_hash
482482

483483
@global = default.new
484484

485-
version_defaults[:default] = default.send(:defaults_hash)
486-
487485
version_defaults[0r] = {
488486
sasl_ir: false,
489487
responses_without_block: :silence_deprecation_warning,

lib/net/imap/config/attr_version_defaults.rb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,10 @@ module AttrVersionDefaults
3838
# :stopdoc: internal APIs only
3939

4040
def self.compile_version_defaults!
41-
version_defaults[:default] = Config[version_defaults[:default]]
41+
# Temporarily assign Config.default, enabling #load_defaults(:default)
42+
version_defaults[:default] = Config.default
43+
# Use #load_defaults so some attributes are inherited from global.
44+
version_defaults[:default] = Config.new.load_defaults(:default).freeze
4245
version_defaults[0.0r] = Config[:default].dup
4346
.update(**version_defaults[0.0r]).freeze
4447

0 commit comments

Comments
 (0)