class FinancialAidAnswer < ApplicationRecord
  audited
  
  enum status: { unverified: 0, verified: 1}

  belongs_to :application, class_name: :FinancialAidApplication
  belongs_to :question, class_name: :FinancialAidQuestion

  validates :answer, presence: true

  after_initialize :format_numbers, if: -> { question.number? }
  
  before_save :clear_sycamore_notes, if: :answer_changed?
  before_save :clear_scores, if: :answer_changed?
  

  private
    def format_numbers
      self.answer = answer.to_i
    end
    
    def clear_sycamore_notes
      self.sycamore_notes = nil
    end
    
    def clear_scores
      return unless application.score || application.financial_contribution
      
      application.update!(score: nil, financial_contribution: nil)
    end
end
