Class: StudentListController
- Inherits:
-
Object
- Object
- StudentListController
- Defined in:
- lib/source/controller.rb,
lib/source/database/controller.rb
Instance Method Summary collapse
- #get_student_id(index) ⇒ Object
-
#initialize(view) ⇒ StudentListController
constructor
A new instance of StudentListController.
- #on_db_conn_error ⇒ Object
- #refresh_data(k_page, number_students) ⇒ Object
- #student_add ⇒ Object
- #student_change_contact(index) ⇒ Object
- #student_change_git(index) ⇒ Object
- #student_change_name(index) ⇒ Object
- #student_delete(indexes) ⇒ Object
Constructor Details
#initialize(view) ⇒ StudentListController
Returns a new instance of StudentListController.
21 22 23 24 25 26 27 28 |
# File 'lib/source/controller.rb', line 21 def initialize(view) @view = view @data_list = DataListStudentShort.new([]) @data_list.add_observer(@view) @student_list = StudentList.new(StudentListDBAdapter.new) adapter_path='C:/Users/Lenovo/ruby_labs_new/lab2/tests/students.yaml' @logger = Logger.new('controller.log') end |
Instance Method Details
#get_student_id(index) ⇒ Object
54 55 56 57 58 59 |
# File 'lib/source/controller.rb', line 54 def get_student_id(index) @data_list.select(index) id = @data_list.get_select @data_list.clear_selected id end |
#on_db_conn_error ⇒ Object
43 44 45 46 47 |
# File 'lib/source/controller.rb', line 43 def on_db_conn_error api = Win32API.new('user32', 'MessageBox', ['L', 'P', 'P', 'L'], 'I') api.call(0, "No connection to DB", "Error", 0) exit(false) end |
#refresh_data(k_page, number_students) ⇒ Object
32 33 34 35 36 37 38 39 40 41 |
# File 'lib/source/controller.rb', line 32 def refresh_data(k_page, number_students) #begin @logger.info("Refreshing data with k_page=#{k_page} and number_students=#{number_students}") @data_list = @student_list.get_k_n_student_short_list(k_page, number_students, @data_list) #rescue # on_db_conn_error #end @view.update_count_students(@student_list.count_student) @logger.info("Data refreshed successfully with k_page=#{k_page} and number_students=#{number_students}") end |
#student_add ⇒ Object
49 50 51 52 |
# File 'lib/source/controller.rb', line 49 def student_add controller = AddStudentController.new(@student_list) show_dialog(controller) end |
#student_change_contact(index) ⇒ Object
77 78 79 80 81 82 83 |
# File 'lib/source/controller.rb', line 77 def student_change_contact(index) @logger.info('Changing student contact') puts 'update name' id = get_student_id(index) controller = ChangeStudentContactController.new(@student_list, id) show_dialog(controller) end |
#student_change_git(index) ⇒ Object
69 70 71 72 73 74 75 |
# File 'lib/source/controller.rb', line 69 def student_change_git(index) @logger.info('Changing student Git') puts 'update git' id = get_student_id(index) controller = ChangeStudentGitController.new(@student_list, id) show_dialog(controller) end |
#student_change_name(index) ⇒ Object
61 62 63 64 65 66 67 |
# File 'lib/source/controller.rb', line 61 def student_change_name(index) @logger.info('Changing student name') puts 'update name' id = get_student_id(index) controller = ChangeStudentNameController.new(@student_list, id) show_dialog(controller) end |
#student_delete(indexes) ⇒ Object
84 85 86 87 88 89 90 91 92 |
# File 'lib/source/controller.rb', line 84 def student_delete(indexes) @data_list.select(*indexes) id_list = @data_list.get_select @data_list.clear_selected id_list.each{|student_id| @student_list.delete_student(student_id)} @view.refresh @logger.info("Deleted students with IDs: #{id_list.join(', ')}") end |