diff --git a/lib/ruby_llm/configuration.rb b/lib/ruby_llm/configuration.rb index 52c1b65b4..2189f6f07 100644 --- a/lib/ruby_llm/configuration.rb +++ b/lib/ruby_llm/configuration.rb @@ -81,6 +81,7 @@ def instance_variables super.reject { |ivar| ivar.to_s.match?(/(_id|_key|_secret|_token|_credential_provider)$/) } end + remove_method :log_regexp_timeout= def log_regexp_timeout=(value) if value && !Regexp.respond_to?(:timeout) RubyLLM.logger.warn("log_regexp_timeout is not supported on Ruby #{RUBY_VERSION}") diff --git a/spec/ruby_llm/configuration_spec.rb b/spec/ruby_llm/configuration_spec.rb index 2bc492cf1..ed41e88ab 100644 --- a/spec/ruby_llm/configuration_spec.rb +++ b/spec/ruby_llm/configuration_spec.rb @@ -64,4 +64,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