Add 'Student Class'

master
Artem-Darius Weber 9 months ago
commit 50f3a9d4b6

@ -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
Loading…
Cancel
Save