Class: Replace_student_presenter

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

Overview

Replace_student_presenter

Презентер для замены информации о студенте.

Instance Method Summary collapse

Methods inherited from Edit_student_presenter

#get_student, #initialize, #new_student, #operation

Constructor Details

This class inherits a constructor from Edit_student_presenter

Instance Method Details

#populate_fieldsObject

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



10
11
12
13
14
15
16
17
18
19
# File 'lib/presenters/edit_student/replace_student_presenter.rb', line 10

def populate_fields
  self.get_student
  data = {
    "first_name" => self.student.first_name,
    "name" => self.student.name,
    "patronymic" => self.student.patronymic,
    "birthdate" => self.student.birthdate.strftime('%d.%m.%Y'),
  }
  self.view.update_view data
end

#valid_data?(student_data) ⇒ Boolean

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

Parameters:

  • student_data (Hash)

    Новые данные студента.

Returns:

  • (Boolean)

    Возвращает true, если данные валидны и отличаются от текущих.



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

def valid_data?(student_data)
  data = student_data.transform_values { |value| value.strip }
  self.logger.debug "Проверка валидности данных: #{data.to_s}"
  valid = super(data)
  unchanged = self.student.first_name == data["first_name"] &&
    self.student.name == data["name"] &&
    self.student.patronymic == data["patronymic"] &&
    self.student.birthdate.strftime('%d.%m.%Y') == data["birthdate"]
  res = valid && !unchanged
  self.logger.info "Валидность данных: #{res}"
  res
end