From 50f3a9d4b640cde2e3b5aff5b6c99b3f641f5c15 Mon Sep 17 00:00:00 2001 From: Artem-Darius Weber <darius-atlas@noreply.localhost> Date: Sat, 21 Sep 2024 16:32:19 +0300 Subject: [PATCH] Add 'Student Class' --- Student-Class.md | 55 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 Student-Class.md diff --git a/Student-Class.md b/Student-Class.md new file mode 100644 index 0000000..08d957a --- /dev/null +++ b/Student-Class.md @@ -0,0 +1,55 @@ +### Класс `Student` + +**Атрибуты:** +- `id: Integer` — Идентификатор студента. +- `surname: String` — Фамилия студента. +- `name: String` — Имя студента. +- `patronymic: String` — Отчество студента. +- `git: String` — Ссылка на GitHub. +- `phone: String` — Номер телефона (приватный). +- `telegram: String` — Телеграм (приватный). +- `email: String` — Электронная почта (приватный). + +**Методы:** +- `initialize(args = {})` — Конструктор, инициализирующий объект с проверкой параметров. +- `self.valid_phone_number?(phone: String) -> Boolean` — Проверяет корректность номера телефона. +- `self.valid_name?(name: String) -> Boolean` — Проверяет корректность имени. +- `self.valid_telegram?(telegram: String) -> Boolean` — Проверяет корректность Telegram. +- `self.valid_email?(email: String) -> Boolean` — Проверяет корректность email. +- `self.valid_git?(git: String) -> Boolean` — Проверяет корректность GitHub ссылки. +- `set_contacts(phone: String, telegram: String, email: String)` — Устанавливает контактную информацию. +- `git_present? -> Boolean` — Проверяет наличие ссылки на GitHub. +- `contact_present? -> Boolean` — Проверяет наличие хотя бы одного контакта. +- `validate` — Валидация обязательных атрибутов (Git и хотя бы один контакт). +- `to_s -> String` — Возвращает строковое представление объекта. + +**Приватные методы и атрибуты:** +- `phone`, `telegram`, `email` (чтение и запись). + +### Описание: + +- Класс: **Student** + - **Атрибуты:** + - +id: Integer + - +surname: String + - +name: String + - +patronymic: String + - +git: String + - -phone: String + - -telegram: String + - -email: String + - **Методы:** + - +initialize(args = {}) + - +valid_phone_number?(phone: String) -> Boolean + - +valid_name?(name: String) -> Boolean + - +valid_telegram?(telegram: String) -> Boolean + - +valid_email?(email: String) -> Boolean + - +valid_git?(git: String) -> Boolean + - +set_contacts(phone: String, telegram: String, email: String) + - +git_present? -> Boolean + - +contact_present? -> Boolean + - +validate + - +to_s -> String + - -phone: String + - -telegram: String + - -email: String \ No newline at end of file