From 65b5ddec2840e1c23b146f322d4d3f168d1d7bfc Mon Sep 17 00:00:00 2001 From: Cody Collins Date: Wed, 11 Dec 2024 10:59:14 -0500 Subject: [PATCH] Fix Rails `connection_config` deprecation `ActiveRecord::Base.method_defined?(:connection_db_config)` did not return true, even though it exists. Instead we need to use `respond_to?` which is what it was changed to in [5.0.0](https://github.com/solarwinds/appoptics-apm-ruby/blob/07ec75694d01fe9bf7fa182fce3957e8d7622028/lib/solarwinds_apm/frameworks/rails/inst/connection_adapters/utils5x.rb#L69) https://github.com/solarwinds/appoptics-apm-ruby/issues/159 --- .../frameworks/rails/inst/connection_adapters/utils5x.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/appoptics_apm/frameworks/rails/inst/connection_adapters/utils5x.rb b/lib/appoptics_apm/frameworks/rails/inst/connection_adapters/utils5x.rb index ab14cd864..14a766267 100644 --- a/lib/appoptics_apm/frameworks/rails/inst/connection_adapters/utils5x.rb +++ b/lib/appoptics_apm/frameworks/rails/inst/connection_adapters/utils5x.rb @@ -26,7 +26,7 @@ def extract_trace_details(sql, name = nil, binds = []) opts[:Backtrace] = AppOpticsAPM::API.backtrace end - if ActiveRecord::Base.method_defined?(:connection_db_config) + if ActiveRecord::Base.respond_to?(:connection_db_config) # Rails 6.1++ deprecates connection_config config = ActiveRecord::Base.connection_db_config.configuration_hash else