avatar

39

add validations

by chrisk, 24 Jun, 2007 12:45 PM
33 39  
11 class Activity < ActiveRecord::Base
22   has_many :exercises, :order => 'created_at desc', :dependent => :destroy
33   
4     
5   validates_presence_of :name, :noun
6   
7   validates_inclusion_of :use_reps, :use_weight, :use_distance, :use_duration, :double_weight,
8                          :in => [true, false], :allow_nil => false
9 
10   
411   def last_active_date
512     exercises.find(:first).created_at.to_date
613   end
27 39  
11 class Exercise < ActiveRecord::Base
22   belongs_to :activity
33   
4   validates_numericality_of :reps, :only_integer => true, :allow_nil => false
5   validates_numericality_of :weight, :distance, :duration, :allow_nil => true
6   validates_presence_of :activity_id
7   
8   %w[reps weight distance duration].each do |property|
9     validates_presence_of property.intern, :if => Proc.new { |exercise| exercise.activity.send("use_#{property}?") }
10   end
11 
12   
413   def created_at_string
514     created_at.to_s(:long)
615   rescue ArgumentError