From d59d53f6776968eba5febedb412c31c943e58466 Mon Sep 17 00:00:00 2001
From: Bogdan Denkovych <bdenkovych@gitlab.com>
Date: Fri, 30 Aug 2024 14:28:01 +0300
Subject: [PATCH] Recover deprecation behavior for current rails version

---
 config/initializers/00_deprecations.rb    | 4 +++-
 config/initializers/deprecations.rb       | 9 ++-------
 spec/initializers/00_deprecations_spec.rb | 5 +----
 3 files changed, 6 insertions(+), 12 deletions(-)

diff --git a/config/initializers/00_deprecations.rb b/config/initializers/00_deprecations.rb
index 7400cd0be3e60..315d319e5b23c 100644
--- a/config/initializers/00_deprecations.rb
+++ b/config/initializers/00_deprecations.rb
@@ -44,13 +44,15 @@
   deprecators.disallowed_warnings = rails7_deprecation_warnings + view_component_3_warnings
 
   if ::Gitlab.next_rails?
-    Rails.application.deprecators.behavior = ->(message, callstack, deprecator) do
+    deprecators.behavior = ->(message, callstack, deprecator) do
       if ignored_warnings.none? { |warning| warning.match?(message) }
         ActiveSupport::Deprecation::DEFAULT_BEHAVIORS.slice(:stderr, :notify).each_value do |behavior|
           behavior.call(message, callstack, deprecator)
         end
       end
     end
+  else
+    deprecators.behavior = [:stderr, :notify]
   end
 end
 
diff --git a/config/initializers/deprecations.rb b/config/initializers/deprecations.rb
index ae857f83fca09..5cc7e78a69d89 100644
--- a/config/initializers/deprecations.rb
+++ b/config/initializers/deprecations.rb
@@ -1,16 +1,11 @@
 # frozen_string_literal: true
 
 if Rails.env.development? || ENV['GITLAB_LEGACY_PATH_LOG_MESSAGE']
-  deprecator =
-    if ::Gitlab.next_rails?
-      ActiveSupport::Deprecation.new('11.0', 'GitLab')
-    else
-      ActiveSupport::Deprecation
-    end
+  deprecator = ActiveSupport::Deprecation.new('11.0', 'GitLab')
 
   deprecator.behavior = ->(message, callstack) {
     Gitlab::AppLogger.warn("#{message}: #{callstack[1..20].join}")
   }
 
-  deprecator.deprecate_methods(Gitlab::GitalyClient::StorageSettings, :legacy_disk_path, deprecator: deprecator)
+  deprecator.deprecate_methods(Gitlab::GitalyClient::StorageSettings, :legacy_disk_path)
 end
diff --git a/spec/initializers/00_deprecations_spec.rb b/spec/initializers/00_deprecations_spec.rb
index 778dc32d8fb44..f52fa4c09dad2 100644
--- a/spec/initializers/00_deprecations_spec.rb
+++ b/spec/initializers/00_deprecations_spec.rb
@@ -97,10 +97,7 @@ def load_initializer
       subject { ActiveSupport::Deprecation.warn('ABC will be removed') }
 
       include_examples 'logs to Gitlab::DeprecationJsonLogger', 'DEPRECATION WARNING: ABC will be removed', 'rails'
-
-      context 'when the test is flaky', quarantine: 'https://gitlab.com/gitlab-org/gitlab/-/issues/478094' do
-        include_examples 'logs to stderr', 'DEPRECATION WARNING: ABC will be removed'
-      end
+      include_examples 'logs to stderr', 'DEPRECATION WARNING: ABC will be removed'
 
       context 'when in production environment' do
         let(:rails_env) { 'production' }
-- 
GitLab