class Election < ActiveRecord::Base
has_many :candidates
+ has_many :voters
+ has_many :votes
+ belongs_to :user
validates_presence_of :name, :description
+ require 'date'
+
+ def startdate
+ read_attribute( :startdate ) || DateTime.now
+ end
+
+ def enddate
+ read_attribute( :enddate ) || DateTime.now + 14
+ end
+
def destroy
self.candidates.each do |candidate|
candidate.destroy
end
- super destroy
+ super
end
-
+
+ def start_blockers
+ reasons = []
+
+ if self.candidates.length <= 1
+ reasons << "You must have at least two candidates."
+ end
+
+ if self.voters.length <= 1
+ reasons << "You must have at least two voters."
+ end
+
+ reasons
+ end
+
+ def activate!
+ self.active = 1
+ end
+
end