Sha256: 62023d36e34d95693848e1d3f5322d278a75f78cac3d1b20f10356c2524a4c90
Contents?: true
Size: 995 Bytes
Versions: 1
Compression:
Stored size: 995 Bytes
Contents
module Rapidfire class Question < ActiveRecord::Base belongs_to :survey, :inverse_of => :questions has_many :answers default_scope { order(:position) } validates :survey, :question_text, :presence => true serialize :validation_rules def self.inherited(child) child.instance_eval do def model_name Question.model_name end end super end def rules validation_rules || {} end # answer will delegate its validation to question, and question # will inturn add validations on answer on the fly! def validate_answer(answer) if rules[:presence] == "1" answer.validates_presence_of :answer_text end if rules[:minimum].present? || rules[:maximum].present? min_max = { minimum: rules[:minimum].to_i } min_max[:maximum] = rules[:maximum].to_i if rules[:maximum].present? answer.validates_length_of :answer_text, min_max end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rapidfire-4.0.0 | app/models/rapidfire/question.rb |