From d780911d3b34e143fc4a92535cd43fb44849063c Mon Sep 17 00:00:00 2001 From: Luke Grayson Date: Thu, 10 Jul 2025 12:17:34 +1200 Subject: [PATCH] Update section.rb to fix boolean defaults The use of `||=` drops defaults when they're explicitly false. As a result, boolean defaults assigned to `false` are never set in the final settings hash. That omission means `section.settings.setting_enabled` returns `nil` instead of `false`. --- lib/locomotive/steam/adapters/filesystem/sanitizers/section.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/locomotive/steam/adapters/filesystem/sanitizers/section.rb b/lib/locomotive/steam/adapters/filesystem/sanitizers/section.rb index 633375de..b5fa1ee7 100644 --- a/lib/locomotive/steam/adapters/filesystem/sanitizers/section.rb +++ b/lib/locomotive/steam/adapters/filesystem/sanitizers/section.rb @@ -60,7 +60,7 @@ def set_default_values(definition) settings = content['settings'] ||= {} definition['settings'].each do |setting| - settings[setting['id']] ||= setting['default'] + settings[setting['id']] = setting['default'] if settings[setting['id']].nil? end # no definition of blocks, no need to continue