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