Class: Edit_contacts_presenter

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

Overview

Edit_contacts_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
# File 'lib/presenters/edit_student/edit_contacts_presenter.rb', line 10

def populate_fields
  self.get_student
  data = {
    "telegram" => self.student.telegram,
    "email" => self.student.email,
    "phone_number" => self.student.phone_number,
  }
  self.view.update_view data
end

#valid_data?(student_data) ⇒ Boolean

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

Parameters:

  • student_data (Hash)

    Контактные данные студента.

Returns:

  • (Boolean)

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



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

def valid_data?(student_data)
  data = student_data.transform_values { |value| value.strip }
  self.logger.debug "Проверка валидности данных: #{data.to_s}"
  valid = Student.valid_phone_number?(data["phone_number"]) && Student.valid_email?(data["email"]) &&
    Student.valid_telegram?(data["telegram"])
  unchanged = self.student.telegram == data["telegram"] &&
    self.student.email == data["email"] &&
    self.student.phone_number == data["phone_number"]
  res = valid && !unchanged
  self.logger.info "Валидность данных: #{res}"
  res
end