From 8c5d5de3773841eda6f4f8bac20f32beb71a21b1 Mon Sep 17 00:00:00 2001 From: dominion525 Date: Mon, 6 Apr 2026 17:50:31 +0900 Subject: [PATCH] Fix method redefined warning for log_regexp_timeout= (Ruby 4.0+) Remove the attr_accessor-generated setter before redefining it with the custom setter to prevent the warning. --- lib/ruby_llm/configuration.rb | 1 + spec/ruby_llm/configuration_spec.rb | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/lib/ruby_llm/configuration.rb b/lib/ruby_llm/configuration.rb index de6202686..2659bd815 100644 --- a/lib/ruby_llm/configuration.rb +++ b/lib/ruby_llm/configuration.rb @@ -67,6 +67,7 @@ def instance_variables super.reject { |ivar| ivar.to_s.match?(/_id|_key|_secret|_token$/) } end + remove_method :log_regexp_timeout= def log_regexp_timeout=(value) if value.nil? @log_regexp_timeout = nil diff --git a/spec/ruby_llm/configuration_spec.rb b/spec/ruby_llm/configuration_spec.rb index 4a68fc51c..cd03ae1ce 100644 --- a/spec/ruby_llm/configuration_spec.rb +++ b/spec/ruby_llm/configuration_spec.rb @@ -26,4 +26,11 @@ ) end end + + describe 'method redefinition warnings' do + it 'does not emit method redefined warning for log_regexp_timeout=' do + warnings = `#{RbConfig.ruby} -W -e 'require "ruby_llm"' 2>&1` + expect(warnings).not_to include('method redefined') + end + end end