diff --git a/lib/searchkick/model.rb b/lib/searchkick/model.rb index 8f29fe1..90ad8f5 100644 --- a/lib/searchkick/model.rb +++ b/lib/searchkick/model.rb @@ -41,6 +41,8 @@ module Searchkick class << self def searchkick_search(term = "*", **options, &block) + # TODO same for Mongoid + Searchkick.warn("calling search on a relation is deprecated") if respond_to?(:current_scope) && !current_scope.nil? Searchkick.search(term, model: self, **options, &block) end alias_method Searchkick.search_method_name, :searchkick_search if Searchkick.search_method_name diff --git a/test/match_test.rb b/test/match_test.rb index 89e149e..8fffd1b 100644 --- a/test/match_test.rb +++ b/test/match_test.rb @@ -301,4 +301,17 @@ class MatchTest < Minitest::Test store_names ["Ice Cream Cake"] assert_search "🍨🍰", ["Ice Cream Cake"], emoji: true end + + # TODO find better place + + def test_search_relation + skip unless defined?(ActiveRecord) + + assert_nil Product.current_scope + _, stderr = capture_io { Product.search("*") } + assert_equal "", stderr + assert Product.where(name: nil).current_scope + _, stderr = capture_io { Product.where(name: nil).search("*") } + assert_match "WARNING", stderr + end end -- libgit2 0.21.0