class ClassSubject < ApplicationRecord
  include Base::ClassSubject

  associations_for legacy: true do |a|
    a.belongs_to :classroom, keys: :ClassID

    a.has_many :class_lesson_plans
    a.has_many :class_grade_postings, foreign_key: :SubjectID
    a.has_many :class_grade_summaries, foreign_key: :SubjectID
    a.has_many :student_transcripts, foreign_key: :SubjectID, inverse_of: :class_subject
  end

  associations_for namespace: 'EdFi' do |a|
    a.has_many :ids, as: :associated, inverse_of: :associated, dependent: :destroy
    a.has_many :logs, as: :associated, inverse_of: :associated
  end

  scope :ordered, -> { order(:sequence) }
end
