X-Git-Url: https://projects.mako.cc/source/selectricity-live/blobdiff_plain/ae1b10889b53eeabc3a1f2281cfc1555781ab7fb..a7d8700239bf6f1d25cbbeedd57193b5035e88e5:/lib/rubyvote/election.rb diff --git a/lib/rubyvote/election.rb b/lib/rubyvote/election.rb index 42f18bb..3655a03 100644 --- a/lib/rubyvote/election.rb +++ b/lib/rubyvote/election.rb @@ -45,7 +45,7 @@ class ElectionVote if self.verify_vote(vote) self.tally_vote(vote) else - raise InvalidVoteError.new ("Invalid vote object", vote) + raise InvalidVoteError.new("Invalid vote object", vote) end end else @@ -66,10 +66,6 @@ class ElectionVote self.verify_vote(vote) end - def filter_out(winner) - @candidates.delete_if {|x| winner.winners.include?(x)} - end - end class PluralityVote < ElectionVote @@ -118,6 +114,7 @@ end class ElectionResult attr_reader :winners + attr_reader :election def initialize(voteobj=nil) unless voteobj and voteobj.kind_of?( ElectionVote ) @@ -135,12 +132,13 @@ class ElectionResult def winner? @winners.length > 0 and not @winners[0].nil? end - + end class PluralityResult < ElectionResult attr_reader :ranked_candidates - + attr_reader :points + def initialize(voteobj=nil) super(voteobj) @@ -151,6 +149,8 @@ class PluralityResult < ElectionResult b[1] <=> a[1] end.collect {|a| a[0]} + @points = @election.votes + # winners are anyone who has the same number of votes as the # first person @winners = @ranked_candidates.find_all do |i|