require 'sidekiq-scheduler'

class EdFi::Indiana::Attendance::WeeklySyncJob
  include Sidekiq::Worker

  def perform
    School.customer.ed_fi_system_indiana.includes(:current_year).each do |school|
      school_year_id = school.current_year.id

      dir = "#{school.indiana_environment_service}::StudentSchoolAttendanceEvents"
      batch = Sidekiq::Batch.new
      batch.jobs do
        dir.constantize.call(school_year_id)
      end

      dissociative_dir =
        "#{school.indiana_environment_service}::AttendanceDissociativeEdFiIdService"
      batch = Sidekiq::Batch.new
      batch.jobs do
        dissociative_dir.constantize.call(school_year_id)
      end
    end
  end
end
