feat: implement DataListStudentShort class for student data representation

lab4
Artem-Darius Weber 3 months ago
parent 6fa17a8801
commit 0347b69198

@ -0,0 +1,21 @@
require_relative 'data_table'
class DataListStudentShort < DataList
def get_names
['№', 'Фамилия и инициалы', 'Телефон', 'Telegram', 'Email']
end
def get_data
data = @items.each_with_index.map do |student, index|
[
index + 1, # id
student.surname_initials, # Фамилия и инициалы
student.phone || '-', # Телефон (или прочерк)
student.telegram || '-', # Telegram (или прочерк)
student.email || '-' # Email (или прочерк)
]
end
DataTable.new(data)
end
end

@ -0,0 +1,18 @@
require_relative 'student_short'
require_relative 'data_list_student_short'
students = [
StudentShort.new(id: '1', surname_initials: 'Иванов И.И.', phone: '+79991112233'),
StudentShort.new(id: '2', surname_initials: 'Петров П.П.', telegram: '@petrov'),
StudentShort.new(id: '3', surname_initials: 'Сидоров С.С.', email: 'sidorov@mail.ru')
]
data_list = DataListStudentShort.new(students)
puts "Столбцы: #{data_list.get_names.inspect}"
table = data_list.get_data
(0...table.rows_count).each do |row|
puts (0...table.columns_count).map { |col| table.item(row, col) }.join(' | ')
end
Loading…
Cancel
Save