From d08785ccfab4af314283c022187600439ba5067d Mon Sep 17 00:00:00 2001 From: Bugaj Date: Thu, 6 Nov 2025 15:05:39 +0100 Subject: [PATCH] Fix conditional indexing with enqueue mode in ms_enqueue_index! --- lib/meilisearch-rails.rb | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/lib/meilisearch-rails.rb b/lib/meilisearch-rails.rb index 3fb47b7..b09579c 100644 --- a/lib/meilisearch-rails.rb +++ b/lib/meilisearch-rails.rb @@ -954,14 +954,22 @@ def ms_enqueue_remove_from_index!(synchronous) end def ms_enqueue_index!(synchronous) - return unless Utilities.indexable?(self, meilisearch_options) - - if meilisearch_options[:enqueue] - unless self.class.send(:ms_indexing_disabled?, meilisearch_options) - meilisearch_options[:enqueue].call(self, false) + if Utilities.indexable?(self, meilisearch_options) + if meilisearch_options[:enqueue] + unless self.class.send(:ms_indexing_disabled?, meilisearch_options) + meilisearch_options[:enqueue].call(self, false) + end + else + ms_index!(synchronous) + end + elsif self.class.send(:ms_conditional_index?, meilisearch_options) + if meilisearch_options[:enqueue] + unless self.class.send(:ms_indexing_disabled?, meilisearch_options) + meilisearch_options[:enqueue].call(self, true) + end + else + ms_remove_from_index!(synchronous) end - else - ms_index!(synchronous) end end