From a0e77bde92d9b035d3e3b00ecc65aa86e4da0205 Mon Sep 17 00:00:00 2001 From: David Celis Date: Sat, 17 May 2014 22:14:15 -0700 Subject: [PATCH] Correctly sort recommendations based on score This is a breaking change, as methods such as `recommended_books` will no longer be chainable with other ORM query methods. Signed-off-by: David Celis --- lib/recommendable/rater/recommender.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/recommendable/rater/recommender.rb b/lib/recommendable/rater/recommender.rb index 6b69aed..716d15f 100644 --- a/lib/recommendable/rater/recommender.rb +++ b/lib/recommendable/rater/recommender.rb @@ -25,7 +25,7 @@ def recommended_for(klass, count = 10, offset = 0) ids = Recommendable.redis.zrevrange(recommended_set, offset, count - 1, :with_scores => true) ids = ids.select { |id, score| score > 0 }.map { |pair| pair.first } - Recommendable.query(klass, ids) + Recommendable.query(klass, ids).sort_by { |record| ids.index(record.id.to_s) } end # Removes an item from a user's set of recommendations