Class: Add_student_presenter

Inherits:
Edit_student_presenter show all
Defined in:
lib/presenters/edit_student/add_student_presenter.rb

Overview

Add_student_presenter

Презентер для добавления нового студента.

Instance Method Summary collapse

Methods inherited from Edit_student_presenter

#get_student, #initialize, #new_student

Constructor Details

This class inherits a constructor from Edit_student_presenter

Instance Method Details

#operation(student_data) ⇒ Object

Операция добавления нового студента.

Parameters:

  • student_data (Hash)

    Данные студента.



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/presenters/edit_student/add_student_presenter.rb', line 12

def operation(student_data)
  begin
    self.logger.debug "Создание объекта студента: #{student_data.to_s}"
    new_student(student_data)
    self.parent_presenter.add_student(self.student)
    self.view.close
  rescue => e
    error_msg = "Ошибка при добавлении студента: #{e.message}"
    self.logger.error error_msg
    self.view.show_error_message(error_msg)
  end
end

#populate_fieldsObject

Заполнение полей интерфейса пустыми данными для нового студента.



26
27
28
29
30
31
32
33
34
# File 'lib/presenters/edit_student/add_student_presenter.rb', line 26

def populate_fields
  data = {
  "first_name" => "",
  "name" => "",
  "patronymic" => "",
  "birthdate" => "",
}
  self.view.update_view data
end

#valid_data?(student_data) ⇒ Boolean

Проверка валидности данных студента при добавлении.

Parameters:

  • student_data (Hash)

    Данные студента.

Returns:

  • (Boolean)

    Возвращает true, если данные валидны.



40
41
42
43
44
45
# File 'lib/presenters/edit_student/add_student_presenter.rb', line 40

def valid_data?(student_data)
  self.logger.debug "Проверка валидности данных: #{student_data.to_s}"
  res = super(student_data)
  self.logger.info "Валидность данных: #{res}"
  res
end