class Admins::ImportDisciplineExcel < BaseImportXlsx
  DisciplineData = Struct.new(:discipline_name, :sub_discipline_name)

  def read_each(&block)
    sheet.each_row_streaming(pad_cells: true, offset: 2) do |row|
      data = row.map(&method(:cell_value))[1..2]
      block.call DisciplineData.new(*data)
    end
  end

  private

  def cell_value(obj)
    obj&.cell_value
  end
end