class Base::ClassLessonPlan < ApplicationRecord
  include Castable

  self.table_name = 'ClassLessonPlans'
  self.primary_key = 'ClassLessonID'

  cast_as_editor_content :Objectives
  cast_as_editor_content :Resources
  cast_as_editor_content :Procedures
  cast_as_editor_content :Evaluation
  cast_as_editor_content :Standards
  cast_as_editor_content :Notes
  cast_as_editor_content :Homework
  cast_as_boolean :status

  alias_attribute :id, :ClassLessonID
  alias_attribute :school_id, :SchoolID
  alias_attribute :class_id, :ClassID
  alias_attribute :unit_number, :UnitNumber
  alias_attribute :class_subject_id, :SubjectID
  alias_attribute :date, :Date
  alias_attribute :name, :Topic
  alias_attribute :status, :Status
  alias_attribute :objectives, :Objectives
  alias_attribute :resources, :Resources
  alias_attribute :procedures, :Procedures
  alias_attribute :evaluation, :Evaluation
  alias_attribute :standards, :Standards
  alias_attribute :notes, :Notes
  alias_attribute :homework, :Homework

  before_create :set_defaults

  private
    def set_defaults
      self.UnitNumber = 0 unless self.UnitNumber
      self.Objectives = '' unless self.Objectives
      self.Resources = '' unless self.Resources
      self.Procedures = '' unless self.Procedures
      self.Evaluation = '' unless self.Evaluation
      self.Standards = '' unless self.Standards
      self.Notes = '' unless self.Notes
      self.Homework = '' unless self.Homework
    end
end
