- Implemented `set_contacts` method to safely set phone, telegram, and email fields.
- Made contact fields (`phone`, `telegram`, `email`) private and accessible only through `set_contacts`.
- Added validation within `set_contacts` to ensure contact fields are correctly formatted.
- Modified the `initialize` method to utilize `set_contacts` for setting contact values during object creation.
- Added checks in the `validate` method to ensure Git presence and at least one contact method.
- Updated test cases in `main.rb` to demonstrate correct and incorrect uses of contact modifications.
- Ensured that contact fields cannot be modified directly, maintaining data integrity.
- Added `validate` method to ensure each Student object has a Git link and at least one contact method (phone, telegram, or email).
- Implemented `git_present?` method to check the presence of a Git link.
- Implemented `contact_present?` method to check the presence of at least one contact method.
- Modified the constructor to call `validate` during object initialization.
- Added class methods to validate the format of strings for each field:
- `valid_name?` for surname, name, and patronymic (only letters allowed).
- `valid_phone_number?` for phone number (validates 10-15 digits, optional '+' sign).
- `valid_telegram?` for telegram handle (starts with '@' and allows letters, digits, and underscores).
- `valid_email?` for email (standard email format validation).
- `valid_git?` for Git link (validates GitHub URL format).
- Modified the `initialize` constructor:
- Integrated validations for all fields with descriptive error messages.
- Ensured objects cannot be created with invalid data formats.