Sha256: 99092062b0862e16c7dfd79f974d7256a83523d6865eb1d908c96e7844a33383

Contents?: true

Size: 896 Bytes

Versions: 5

Compression:

Stored size: 896 Bytes

Contents

class Response < ActiveRecord::Base
  include ActionView::Helpers::SanitizeHelper
         
  # Associations
  belongs_to :response_set
  belongs_to :question
  belongs_to :answer
  
  # Validations
  validates_presence_of :response_set_id, :question_id, :answer_id
      
  acts_as_response # includes "as" instance method

  def selected
    !self.new_record?
  end
  
  alias_method :selected?, :selected
  
  def selected=(value)
    true
  end
  
  def correct?
    question.correct_answer_id.nil? or self.answer.response_class != "answer" or (question.correct_answer_id.to_i == answer_id.to_i)
  end
  
  def to_s # used in dependency_explanation_helper
    if self.answer.response_class == "answer" and self.answer_id
      return self.answer.text
    else
      return "#{(self.string_value || self.text_value || self.integer_value || self.float_value || nil).to_s}"
    end
  end
  
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
surveyor-0.9.10 app/models/response.rb
surveyor-0.9.9 app/models/response.rb
surveyor-0.9.8 app/models/response.rb
surveyor-0.9.7 app/models/response.rb
surveyor-0.9.6 app/models/response.rb