Commit 5e427dddd2fdde56b4524032132988c474d68a17
1 parent
8e9f976b
Exists in
master
and in
19 other branches
Disable all updates for callbacks false [skip ci]
Showing
3 changed files
with
9 additions
and
13 deletions
Show diff stats
lib/searchkick.rb
... | ... | @@ -131,8 +131,9 @@ module Searchkick |
131 | 131 | previous_value = callbacks_value |
132 | 132 | begin |
133 | 133 | self.callbacks_value = value |
134 | - yield | |
134 | + result = yield | |
135 | 135 | indexer.perform if callbacks_value == :bulk |
136 | + result | |
136 | 137 | ensure |
137 | 138 | self.callbacks_value = previous_value |
138 | 139 | end | ... | ... |
lib/searchkick/model.rb
... | ... | @@ -37,7 +37,7 @@ module Searchkick |
37 | 37 | alias_method :search_index, :searchkick_index unless method_defined?(:search_index) |
38 | 38 | |
39 | 39 | def searchkick_reindex(method_name = nil, full: false, **options) |
40 | - # return unless Searchkick.callbacks? | |
40 | + return unless Searchkick.callbacks? | |
41 | 41 | |
42 | 42 | scoped = (respond_to?(:current_scope) && respond_to?(:default_scoped) && current_scope && current_scope.to_sql != default_scoped.to_sql) || |
43 | 43 | (respond_to?(:queryable) && queryable != unscoped.with_default_scope) | ... | ... |
test/reindex_v2_job_test.rb
... | ... | @@ -4,29 +4,24 @@ class ReindexV2JobTest < Minitest::Test |
4 | 4 | def setup |
5 | 5 | skip unless defined?(ActiveJob) |
6 | 6 | super |
7 | - Searchkick.disable_callbacks | |
8 | - end | |
9 | - | |
10 | - def teardown | |
11 | - Searchkick.enable_callbacks | |
12 | 7 | end |
13 | 8 | |
14 | 9 | def test_create |
15 | - product = Product.create!(name: "Boom") | |
16 | - Product.searchkick_index.refresh | |
10 | + product = Searchkick.callbacks(false) { Product.create!(name: "Boom") } | |
11 | + Product.search_index.refresh | |
17 | 12 | assert_search "*", [] |
18 | 13 | Searchkick::ReindexV2Job.perform_later("Product", product.id.to_s) |
19 | - Product.searchkick_index.refresh | |
14 | + Product.search_index.refresh | |
20 | 15 | assert_search "*", ["Boom"] |
21 | 16 | end |
22 | 17 | |
23 | 18 | def test_destroy |
24 | - product = Product.create!(name: "Boom") | |
19 | + product = Searchkick.callbacks(false) { Product.create!(name: "Boom") } | |
25 | 20 | Product.reindex |
26 | 21 | assert_search "*", ["Boom"] |
27 | - product.destroy | |
22 | + Searchkick.callbacks(false) { product.destroy } | |
28 | 23 | Searchkick::ReindexV2Job.perform_later("Product", product.id.to_s) |
29 | - Product.searchkick_index.refresh | |
24 | + Product.search_index.refresh | |
30 | 25 | assert_search "*", [] |
31 | 26 | end |
32 | 27 | end | ... | ... |