projects
/
rubyvote
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
#filter_out and PureCondorcet weren't getting along well for sparse elections
[rubyvote]
/
lib
/
rubyvote
/
election.rb
diff --git
a/lib/rubyvote/election.rb
b/lib/rubyvote/election.rb
index 7fd8396c046d9b71fd09c75e2f35866ddbe5cf97..4d51d78b86027014236b0fc581cf070e33bf4486 100644
(file)
--- a/
lib/rubyvote/election.rb
+++ b/
lib/rubyvote/election.rb
@@
-61,6
+61,11
@@
class ElectionVote
def tally_vote
self.verify_vote(vote)
end
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
end
class PluralityVote < ElectionVote
@@
-109,6
+114,7
@@
end
class ElectionResult
attr_reader :winners
class ElectionResult
attr_reader :winners
+ attr_accessor :full_results
def initialize(voteobj=nil)
unless voteobj and voteobj.kind_of?( ElectionVote )
def initialize(voteobj=nil)
unless voteobj and voteobj.kind_of?( ElectionVote )
@@
-117,6
+123,7
@@
class ElectionResult
@election = voteobj
@winners = Array.new
@election = voteobj
@winners = Array.new
+ @full_results = Array.new
end
def winner
end
def winner
@@
-127,6
+134,10
@@
class ElectionResult
@winners.length > 0
end
@winners.length > 0
end
+ def get_full_results
+ @full_results.collect {|x| x.winners}
+ end
+
end
class PluralityResult < ElectionResult
end
class PluralityResult < ElectionResult
Benjamin Mako Hill
||
Want to submit a patch?