class StudentHabitValue < ApplicationRecord
  include Base::StudentHabitValue

  belongs_to :school, foreign_key: :SchoolID, inverse_of: :student_habit_values
  belongs_to :student, foreign_key: :StudentID, inverse_of: :student_habit_values
  belongs_to :student_habit, foreign_key: :SHID, inverse_of: :student_habit_values

  after_initialize :set_default_values, if: :new_record?

  validates :q1, :q2, :q3, :q4, :q5, :q6, :q7, :q8, :q9, :q10, :q11, :q12, :final,
    length: { maximum: 6 }

  private
    def set_default_values
      self.q1 = '' unless q1
      self.q2 = '' unless q2
      self.q3 = '' unless q3
      self.q4 = '' unless q4
      self.q5 = '' unless q5
      self.q6 = '' unless q6
      self.q7 = '' unless q7
      self.q8 = '' unless q8
      self.q9 = '' unless q9
      self.q10 = '' unless q10
      self.q11 = '' unless q11
      self.q12 = '' unless q12
      self.final = '' unless final
    end
end
