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