SurfacesGem 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: e68bc13063cbf44248498d6d1c0ac279ece7c21322b44392f289646df27328d3
4
+ data.tar.gz: 2a5ed94c3662d755dad4d9c21f7e993e3d5916a994149c5fb2c2864a9f5b1a9c
5
+ SHA512:
6
+ metadata.gz: 8e9e8c341f0a4dc34af45e58b8ffe24cdbbad87de8ceea333dce70993ba04341d1ec5c511fc64f2b6f3cfd2967fcf07937c477086dbb3f1acace73574f1b200f
7
+ data.tar.gz: 944a980d1724860b4b46d16739f8f30539bbf943a5ac543b4c7093f667841dada38ff3cd85b049f7fd302e7869006e74365c3dad4f97107297b4818f9a4bd0a8
data/bin/your_gem_name ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'your_gem_name'
4
+
5
+ YourGemName::StudentLabGem.run
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module YourGemName
4
+ VERSION = "1.0.0"
5
+ end
@@ -0,0 +1,74 @@
1
+ require 'your_gem_name/student_lab_gem'
2
+
3
+ module YourGemName
4
+ # frozen_string_literal: true
5
+ require_relative '../student_source_models/student_lab'
6
+ require_relative '../student_source_models/data_list_model/data_list_student_lab'
7
+ require_relative '../controller/crud/labs/add_lab_controller'
8
+ require_relative '../views/create_lab_dialog'
9
+ require_relative 'crud/labs/change_lab_controller'
10
+
11
+ class StudentLabController
12
+ def initialize(view)
13
+ @view = view
14
+ @data_list = DataListStudentLab.new([])
15
+ @data_list.add_observer(@view)
16
+ @student_lab = StudentLab.new
17
+ end
18
+
19
+ def refresh_data
20
+ begin
21
+ @data_list = @student_lab.get_lab_list(@data_list)
22
+ rescue SQLite3::SQLException
23
+ api = Win32API.new('user32', 'MessageBox', ['L', 'P', 'P', 'L'], 'I')
24
+ api.call(0, "No connection to DB", "Error", 0)
25
+ exit(false)
26
+ end
27
+ end
28
+
29
+ def add_lab
30
+ controller = AddLabController.new(@student_lab)
31
+ show_dialog(controller)
32
+ end
33
+
34
+ def show_dialog(controller)
35
+ view = CreateLabDialog.new(@view, controller)
36
+ controller.add_view(view)
37
+ controller.execute
38
+
39
+ @view.refresh
40
+ end
41
+
42
+ def get_count_lab
43
+ @student_lab.lab_count
44
+ end
45
+
46
+ def delete_lab
47
+ @student_lab.remove_lab(get_count_lab)
48
+ @view.refresh
49
+ end
50
+
51
+ def update_lab(index)
52
+ @data_list.select(index)
53
+ id = @data_list.get_select
54
+ @data_list.clear_selected
55
+
56
+ controller = ChangeLabController.new(@student_lab, id)
57
+ show_dialog(controller)
58
+ end
59
+ end
60
+
61
+ module YourGemName
62
+ class StudentLabGem
63
+ def self.run
64
+ # Здесь можно вызывать методы из класса StudentLabController
65
+ # и выполнять желаемые операции
66
+ # Например:
67
+ # controller = StudentLabController.new(your_view_instance)
68
+ # controller.refresh_data
69
+ # controller.add_lab
70
+ # ...
71
+ end
72
+ end
73
+ end
74
+ end
metadata ADDED
@@ -0,0 +1,60 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: SurfacesGem
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Your Name
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-05-24 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: sqlite3
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ description: This gem provides functionality for managing student labs.
28
+ email:
29
+ - your-email@example.com
30
+ executables:
31
+ - your_gem_name
32
+ extensions: []
33
+ extra_rdoc_files: []
34
+ files:
35
+ - bin/your_gem_name
36
+ - lib/your_gem_name.rb
37
+ - lib/your_gem_name/version.rb
38
+ homepage:
39
+ licenses: []
40
+ metadata: {}
41
+ post_install_message:
42
+ rdoc_options: []
43
+ require_paths:
44
+ - lib
45
+ required_ruby_version: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ required_rubygems_version: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ requirements: []
56
+ rubygems_version: 3.3.26
57
+ signing_key:
58
+ specification_version: 4
59
+ summary: A gem for performing operations on student labs.
60
+ test_files: []