Sha256: 94fee07d8cb3c6c68abe97e5efd82bd468c56729145d59c801a003c06299b6c9
Contents?: true
Size: 1.38 KB
Versions: 2
Compression:
Stored size: 1.38 KB
Contents
# frozen_string_literal: true require_relative './student/student' require 'logger' class AddStudentController def initialize(student_list) @student_list = student_list @logger = Logger.new('controller_add.log') # Указывает путь и имя файла для логов end #привязка view def add_view(view) @view = view end def execute @view.execute @logger.info('Executing add student operation') end def save_student(student) @logger.info('Saving student') @student_list.add_student(student) end def validate_fields(fields) @logger.info('Validating fields') required_fields = [:first_name, :middle_name, :surname] # список обязательных полей if required_fields.all? { |field| fields.key?(field) } student = Student.new( first_name: fields[:first_name], middle_name: fields[:middle_name], surname: fields[:surname], id: fields[:id] || nil, git: fields[:git] || nil, phone_number: fields[:phone_number] || nil, mail: fields[:mail] || nil, telegram: fields[:telegram] || nil ) puts(student) return student else return nil end rescue ArgumentError => e @logger.error("Error occurred while validating fields: #{e.message}") return nil end end
Version data entries
2 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
shanti555890-1.1.5 | lib/source/add_controller.rb |
shanti555890-1.1.5 | lib/source/database/add_controller.rb |