From e35a0044824b520d213942982b0ddc35b855ca9b Mon Sep 17 00:00:00 2001
From: ls12 5o Andar <ls12@inf.ufpr.br>
Date: Mon, 31 Aug 2015 14:58:24 -0300
Subject: [PATCH] Remove keep first item responsability

---
 lib/ranking/rank.rb | 17 +++++------------
 1 file changed, 5 insertions(+), 12 deletions(-)

diff --git a/lib/ranking/rank.rb b/lib/ranking/rank.rb
index 73698a258..351180261 100644
--- a/lib/ranking/rank.rb
+++ b/lib/ranking/rank.rb
@@ -28,26 +28,19 @@ class BasicRater # Don't instanciate this directly, use Rater
   end
 
   def rateItem item, inversePosition # Returns: RatedItem instance
-
     positionRating = inversePosition * @positionWeight
     useRating = (item.downloads < item.views ? item.downloads : item.views)*@useWeight
     likeRating = item.likes * @likeWeight
-
     rate = positionRating + useRating + likeRating
     RatedItem.new( item, rate )
-
   end
 
   def sortByRate items
-    first = items.first
-    rest = items.drop(1)
-
-    rest.zip( rest.size.downto(1) )
-        .collect { |item,reverseIndex| self.rateItem( item, reverseIndex ) } # Returns RatedItem instance
-        .sort { |itemA,itemB| itemA.rate <=> itemB.rate }
-        .collect { |ri| ri.item }
-        .push( first )
-        .reverse # Best ranked comes first
+    items.zip( items.size.downto(1) )
+         .collect { |item,reverseIndex| self.rateItem( item, reverseIndex ) }
+         .sort { |itemA,itemB| itemA.rate <=> itemB.rate }
+         .collect { |ri| ri.item }
+         .reverse # Best ranked comes first
   end
 
 end
-- 
GitLab