Sha256: 5e03059bbf1b2eab35deb359ceff9b57553ca348efa5525683de1bf9596761de

Contents?: true

Size: 1.5 KB

Versions: 2

Compression:

Stored size: 1.5 KB

Contents

require 'date'
require_relative '../../models/student/student.rb'
require_relative './edit_contacts_presenter'

# == Edit_contacts_presenter
# Презентер для редактирования контактной информации студента.
class Edit_contacts_presenter < Edit_student_presenter

  # Заполнение полей интерфейса текущими контактами студента.
  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

  # Проверка валидности контактных данных студента.
  #
  # @param student_data [Hash] Контактные данные студента.
  # @return [Boolean] Возвращает true, если данные валидны.
  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
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
student_mvp-0.1.1 lib/presenters/edit_student/edit_contacts_presenter.rb
student_mvp-0.1.0 lib/presenters/edit_student/edit_contacts_presenter.rb