projects
/
selectricity
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
merged in licensing changes (we'll have to undo this eventually)
[selectricity]
/
app
/
models
/
full_voter.rb
diff --git
a/app/models/full_voter.rb
b/app/models/full_voter.rb
index 980fb5cf3c0fdeef0c043be9aeabe33233f6a874..68b3d077afa11ddbee911d42e529835856c92ed4 100644
(file)
--- a/
app/models/full_voter.rb
+++ b/
app/models/full_voter.rb
@@
-1,7
+1,18
@@
+# Selectricity: Voting Machinery for the Masses
+# Copyright (C) 2007, 2008 Benjamin Mako Hill <mako@atdot.cc>
+# Copyright (C) 2007 Massachusetts Institute of Technology
+#
+# This program is free software. Please see the COPYING file for
+# details.
+
class FullVoter < Voter
class FullVoter < Voter
- before_create :create_password
validates_presence_of :email, :password
validates_presence_of :email, :password
+ def initialize(params={})
+ super
+ create_password
+ end
+
def create_password
token_generator = UniqueTokenGenerator.new( 16 )
until password and not password.empty? \
def create_password
token_generator = UniqueTokenGenerator.new( 16 )
until password and not password.empty? \
@@
-9,4
+20,12
@@
class FullVoter < Voter
self.password = token_generator.token
end
end
self.password = token_generator.token
end
end
+
+ protected
+ def validate
+ # E-mail regex, moderate complexity
+ # Stolen from http://www.regular-expressions.info/email.html
+ errors.add(:email, "is not valid") unless email =~
+ /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i
+ end
end
end
Benjamin Mako Hill
||
Want to submit a patch?