X-Git-Url: https://projects.mako.cc/source/selectricity-live/blobdiff_plain/1620856a8a47219f3a2cbb5288137b11467886fc..20cae2b9f1107273ddf18cd9d5f78d873ec9afd2:/app/models/token.rb?ds=sidebyside diff --git a/app/models/token.rb b/app/models/token.rb index 4ed9598..8bfecc4 100644 --- a/app/models/token.rb +++ b/app/models/token.rb @@ -1,11 +1,30 @@ -class Token < ActiveRecord::Base - belongs_to :vote +# Selectricity: Voting Machinery for the Masses +# Copyright (C) 2007, 2008 Benjamin Mako Hill +# Copyright (C) 2007 Massachusetts Institute of Technology +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public +# License along with this program. If not, see +# . +class Token < ActiveRecord::Base + belongs_to :vote + def initialize super token_generator = UniqueTokenGenerator.new( 16 ) - until not token.empty? and Token.find(:all, :conditions => [ "token = ?", token ]).empty? + until token and not token.empty? \ + and Token.find(:all, :conditions => [ "token = ?", token ]).empty? and token[0..3] != "open" self.token = token_generator.token end