projects
/
rubyvote
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* Entire election aborts with InvalidVoteError when an invalid vote object is passed in.
[rubyvote]
/
lib
/
rubyvote
/
election.rb
diff --git
a/lib/rubyvote/election.rb
b/lib/rubyvote/election.rb
index ec30ab9c357f5cd35f28e2b45123de76c1eebf74..b9bb5574c7ea03b4d9d5d6e1b544fdca640e3ee3 100644
(file)
--- a/
lib/rubyvote/election.rb
+++ b/
lib/rubyvote/election.rb
@@
-42,7
+42,11
@@
class ElectionVote
if votes
if votes.instance_of?( Array )
votes.each do |vote|
if votes
if votes.instance_of?( Array )
votes.each do |vote|
- self.tally_vote(vote) if self.verify_vote(vote)
+ if self.verify_vote(vote)
+ self.tally_vote(vote)
+ else
+ raise InvalidVoteError.new ("Invalid vote object", vote)
+ end
end
else
raise ElectionError, "Votes must be in the form of an array.", caller
end
else
raise ElectionError, "Votes must be in the form of an array.", caller
@@
-163,3
+167,10
@@
end
class ElectionError < ArgumentError
end
class ElectionError < ArgumentError
end
+class InvalidVoteError < ElectionError
+ attr_accessor :voteobj
+ def initialize(msg=nil, voteobj=nil)
+ super(msg)
+ @voteobj=voteobj
+ end
+end
Benjamin Mako Hill
||
Want to submit a patch?