diff --git a/lib/meilisearch-rails.rb b/lib/meilisearch-rails.rb index c8dda0e..f47697d 100644 --- a/lib/meilisearch-rails.rb +++ b/lib/meilisearch-rails.rb @@ -418,7 +418,7 @@ def meilisearch(options = {}, &block) proc.call(record, remove) if ::MeiliSearch::Rails.active? && !ms_without_auto_index_scope end end - unless options[:auto_index] == false + if ::MeiliSearch::Rails.active? && options[:auto_index] != false if defined?(::Sequel::Model) && self < Sequel::Model class_eval do copy_after_validation = instance_method(:after_validation) diff --git a/spec/meilisearch/activation_spec.rb b/spec/meilisearch/activation_spec.rb index 9a9a7a2..846c5e3 100644 --- a/spec/meilisearch/activation_spec.rb +++ b/spec/meilisearch/activation_spec.rb @@ -1,4 +1,5 @@ require 'support/models/queued_models' +require 'support/models/movie' describe MeiliSearch::Rails do it 'is active by default' do @@ -24,6 +25,14 @@ EnqueuedDocument.create! name: 'hello world' end.not_to raise_error end + + it 'does not run callbacks on save' do + movie = Movie.new(title: 'Harry Potter') + allow(movie).to receive(:ms_index!) + movie.save + + expect(movie).not_to have_received(:ms_index!) + end end context 'with a block' do