X-Git-Url: https://projects.mako.cc/source/selectricity-live/blobdiff_plain/2ba40f97b78f529984ff26c7c7d61c91d213e7b0..refs/heads/master:/app/models/candidate.rb diff --git a/app/models/candidate.rb b/app/models/candidate.rb index 7af978a..6048562 100644 --- a/app/models/candidate.rb +++ b/app/models/candidate.rb @@ -1,6 +1,16 @@ +# 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. Please see the COPYING file for +# details. + class Candidate < ActiveRecord::Base belongs_to :election - validates_uniqueness_of :name + has_one :picture + validates_presence_of :name + + # validate uniqueness of a name *within a given election* def <=>(other) self.name <=> other.name @@ -10,25 +20,5 @@ class Candidate < ActiveRecord::Base name end - def picture=(picture_field) - if picture_field - unless picture_field.content_type.match(/^image/) - return false - end - self.picture_filename = base_part_of(picture_field.original_filename) - self.picture_type = picture_field.content_type.chomp - self.picture_data = picture_field.read - end - end - - def base_part_of(filename) - name = File.basename(filename) - name.gsub(/[^\w._-]/, '') - end - - def picture? - !self.picture_filename.nil? - end - end