diff --git a/lib/searchkick/model.rb b/lib/searchkick/model.rb index d1f6446..413493d 100644 --- a/lib/searchkick/model.rb +++ b/lib/searchkick/model.rb @@ -42,8 +42,7 @@ module Searchkick class << self def searchkick_search(term = "*", **options, &block) # TODO throw error in next major version - # TODO add Mongoid condition - relation = respond_to?(:current_scope) ? !current_scope.nil? : false + relation = respond_to?(:current_scope) ? !current_scope.nil? : !Mongoid::Threaded.current_scope(self).nil? Searchkick.warn("calling search on a relation is deprecated") if relation Searchkick.search(term, model: self, **options, &block) @@ -59,10 +58,11 @@ module Searchkick alias_method :search_index, :searchkick_index unless method_defined?(:search_index) def searchkick_reindex(method_name = nil, **options) - scoped = (respond_to?(:current_scope) && respond_to?(:default_scoped) && current_scope && current_scope.to_sql != default_scoped.to_sql) || + # TODO properly check relation like in searchkick_search method + relation = (respond_to?(:current_scope) && respond_to?(:default_scoped) && current_scope && current_scope.to_sql != default_scoped.to_sql) || (respond_to?(:queryable) && queryable != unscoped.with_default_scope) - searchkick_index.reindex(searchkick_klass, method_name, scoped: scoped, **options) + searchkick_index.reindex(searchkick_klass, method_name, scoped: relation, **options) end alias_method :reindex, :searchkick_reindex unless method_defined?(:reindex) diff --git a/test/match_test.rb b/test/match_test.rb index da7a860..d94fced 100644 --- a/test/match_test.rb +++ b/test/match_test.rb @@ -305,8 +305,6 @@ class MatchTest < Minitest::Test # TODO find better place def test_search_relation - skip if defined?(Mongoid) # for now - _, stderr = capture_io { Product.search("*") } assert_equal "", stderr _, stderr = capture_io { Product.all.search("*") } @@ -314,8 +312,6 @@ class MatchTest < Minitest::Test end def test_search_relation_default_scope - skip if defined?(Mongoid) # for now - Band.reindex _, stderr = capture_io { Band.search("*") } -- libgit2 0.21.0