From d91faa063a8058a5a75d65b5abc4fdfef1cef375 Mon Sep 17 00:00:00 2001 From: Oskar Eichler Date: Sun, 30 Aug 2026 10:39:17 +0200 Subject: [PATCH] Remove stale accessors when replacing OpenStruct data --- lib/ostruct.rb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/ostruct.rb b/lib/ostruct.rb index a8763da..bc18028 100644 --- a/lib/ostruct.rb +++ b/lib/ostruct.rb @@ -155,10 +155,18 @@ def initialize(hash=nil) end private def update_to_values!(hash) # :nodoc: + old_table = @table @table = {} hash.each_pair do |k, v| set_ostruct_member_value!(k, v) end + old_table&.each_key do |key| + next if @table.key?(key) + begin + singleton_class!.remove_method(key, "#{key}=") + rescue NameError + end + end end #