diff options
author | Claire <claire.github-309c@sitedethib.com> | 2023-04-03 15:05:39 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-03 15:05:39 +0200 |
commit | 5c499f54e3ecc2fab6de2ff76441a11ddf3c503d (patch) | |
tree | c3d846d681a43130d38701204d3d273bf4e2a391 | |
parent | 4909c2e7183f38caedd4445928033dc208762609 (diff) |
Change root Chewy strategy to emit a warning instead of erroring out in production mode (#24327)
-rw-r--r-- | config/application.rb | 1 | ||||
-rw-r--r-- | config/initializers/chewy.rb | 1 | ||||
-rw-r--r-- | lib/chewy/strategy/bypass_with_warning.rb | 12 |
3 files changed, 14 insertions, 0 deletions
diff --git a/config/application.rb b/config/application.rb index 43631c551..f0e65f443 100644 --- a/config/application.rb +++ b/config/application.rb @@ -39,6 +39,7 @@ require_relative '../lib/public_file_server_middleware' require_relative '../lib/devise/two_factor_ldap_authenticatable' require_relative '../lib/devise/two_factor_pam_authenticatable' require_relative '../lib/chewy/strategy/mastodon' +require_relative '../lib/chewy/strategy/bypass_with_warning' require_relative '../lib/webpacker/manifest_extensions' require_relative '../lib/webpacker/helper_extensions' require_relative '../lib/rails/engine_extensions' diff --git a/config/initializers/chewy.rb b/config/initializers/chewy.rb index 2a91efefc..daf4a5f32 100644 --- a/config/initializers/chewy.rb +++ b/config/initializers/chewy.rb @@ -19,6 +19,7 @@ Chewy.settings = { # cycle, which takes care of checking if Elasticsearch is enabled # or not. However, mind that for the Rails console, the :urgent # strategy is set automatically with no way to override it. +Chewy.root_strategy = :bypass_with_warning if Rails.env.production? Chewy.request_strategy = :mastodon Chewy.use_after_commit_callbacks = false diff --git a/lib/chewy/strategy/bypass_with_warning.rb b/lib/chewy/strategy/bypass_with_warning.rb new file mode 100644 index 000000000..eb6fbaab1 --- /dev/null +++ b/lib/chewy/strategy/bypass_with_warning.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Chewy + class Strategy + class BypassWithWarning < Base + def update(...) + Rails.logger.warn 'Chewy update without a root strategy' unless @warning_issued + @warning_issued = true + end + end + end +end |