Cleaned up after Justin's last commit.
[rubyvote] / lib / rubyvote / condorcet.rb
index 2c5e03a028ac49aae97ab0fcab901c971cb7407e..a78524b7003dd7eaa5d589c9af671a7551fde611 100644 (file)
@@ -154,9 +154,10 @@ class CondorcetResult < ElectionResult
     @matrix = voteobj.votes
   end
   
-  def list_defeats
+  def victories_and_ties
     victors = Array.new
     ties = Array.new
+    victories = Hash.new
     candidates = @matrix.keys.sort
     
     candidates.each do |candidate|
@@ -169,9 +170,16 @@ class CondorcetResult < ElectionResult
           ties << [candidate, challenger] 
         end
       end
-    end
+    end  
     
-    victories = victors.sort {|a,b| b[2] <=> a[2]}
+    victors.each do |list|
+      if victories.has_key?(list[0])
+        victories[list[0]][list[1]] = list[2]       
+      else
+        victories[list[0]] = Hash.new
+        victories[list[0]][list[1]] = list[2]
+      end
+    end
     
     return victories, ties    
   end

Benjamin Mako Hill || Want to submit a patch?