#filter_out and PureCondorcet weren't getting along well for sparse elections
[rubyvote] / lib / rubyvote / election.rb
index 7fd8396c046d9b71fd09c75e2f35866ddbe5cf97..4d51d78b86027014236b0fc581cf070e33bf4486 100644 (file)
@@ -61,6 +61,11 @@ class ElectionVote
   def tally_vote
     self.verify_vote(vote)
   end
+
+  def filter_out(winner)
+    @candidates.delete_if {|x| winner.winners.include?(x)}
+  end
+
 end
 
 class PluralityVote < ElectionVote
@@ -109,6 +114,7 @@ end
 
 class ElectionResult
   attr_reader :winners
+  attr_accessor :full_results
 
   def initialize(voteobj=nil)
     unless voteobj and voteobj.kind_of?( ElectionVote )
@@ -117,6 +123,7 @@ class ElectionResult
 
     @election = voteobj
     @winners = Array.new
+    @full_results = Array.new
   end
 
   def winner
@@ -127,6 +134,10 @@ class ElectionResult
     @winners.length > 0
   end
 
+  def get_full_results
+    @full_results.collect {|x| x.winners}
+  end
+
 end
 
 class PluralityResult < ElectionResult

Benjamin Mako Hill || Want to submit a patch?