17 lines
384 B
Ruby
17 lines
384 B
Ruby
|
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
|