From d791078beff48bcbbd3f2dc921a5fa25a6ae6983 Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Tue, 17 Mar 2020 20:57:48 -0700 Subject: [PATCH] Added boost_by_recency --- lib/searchkick/relation.rb | 10 ++++++++++ test/boost_test.rb | 1 + 2 files changed, 11 insertions(+), 0 deletions(-) diff --git a/lib/searchkick/relation.rb b/lib/searchkick/relation.rb index 809bd1c..b4d5238 100644 --- a/lib/searchkick/relation.rb +++ b/lib/searchkick/relation.rb @@ -192,6 +192,16 @@ module Searchkick self end + def boost_by_recency(value) + spawn.boost_by_recency!(value) + end + + # TODO merge options + def boost_by_recency!(value) + options[:boost_by_recency] = value + self + end + # same as Active Record def inspect entries = results.first(11).map!(&:inspect) diff --git a/test/boost_test.rb b/test/boost_test.rb index a39702a..bf0eb1d 100644 --- a/test/boost_test.rb +++ b/test/boost_test.rb @@ -169,6 +169,7 @@ class BoostTest < Minitest::Test {name: "Article 3", created_at: Time.now} ] assert_order "article", ["Article 3", "Article 2", "Article 1"], boost_by_recency: {created_at: {scale: "7d", decay: 0.5}} + assert_order_relation ["Article 3", "Article 2", "Article 1"], Product.search("article", relation: true).boost_by_recency(created_at: {scale: "7d", decay: 0.5}) end def test_boost_by_recency_origin -- libgit2 0.21.0