student_mvp 0.1.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.
Files changed (127) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +35 -0
  3. data/Rakefile +4 -0
  4. data/doc/Add_student_presenter.html +238 -0
  5. data/doc/App_logger.html +386 -0
  6. data/doc/Base_presenter.html +265 -0
  7. data/doc/Binary_tree.html +300 -0
  8. data/doc/Binary_tree_iterator.html +217 -0
  9. data/doc/Contact_sort_decorator.html +219 -0
  10. data/doc/DB_client.html +252 -0
  11. data/doc/Data_list.html +625 -0
  12. data/doc/Data_list_student_short.html +148 -0
  13. data/doc/Data_storage_strategy.html +178 -0
  14. data/doc/Data_table.html +264 -0
  15. data/doc/Deep_dup.html +152 -0
  16. data/doc/Edit_contacts_presenter.html +199 -0
  17. data/doc/Edit_git_presenter.html +192 -0
  18. data/doc/Edit_student_presenter.html +464 -0
  19. data/doc/Field_filter_decorator.html +219 -0
  20. data/doc/Filter.html +148 -0
  21. data/doc/Filter_decorator.html +209 -0
  22. data/doc/Full_name_filter_decorator.html +211 -0
  23. data/doc/Full_name_sort_decorator.html +217 -0
  24. data/doc/Gemfile.html +98 -0
  25. data/doc/Git_sort_decorator.html +220 -0
  26. data/doc/Has_not_field_filter_decorator.html +209 -0
  27. data/doc/JSON_storage_strategy.html +183 -0
  28. data/doc/Person.html +511 -0
  29. data/doc/README_md.html +147 -0
  30. data/doc/Rakefile.html +94 -0
  31. data/doc/Replace_student_presenter.html +204 -0
  32. data/doc/Sort_decorator.html +214 -0
  33. data/doc/Student.html +755 -0
  34. data/doc/StudentMvp/Error.html +105 -0
  35. data/doc/StudentMvp.html +111 -0
  36. data/doc/Student_list_presenter.html +667 -0
  37. data/doc/Student_short.html +398 -0
  38. data/doc/Students_list.html +341 -0
  39. data/doc/Students_list_DB.html +361 -0
  40. data/doc/Students_list_file.html +460 -0
  41. data/doc/Students_list_file_adapter.html +341 -0
  42. data/doc/Students_list_interface.html +298 -0
  43. data/doc/YAML_storage_strategy.html +183 -0
  44. data/doc/bin/setup.html +96 -0
  45. data/doc/created.rid +44 -0
  46. data/doc/css/fonts.css +167 -0
  47. data/doc/css/rdoc.css +662 -0
  48. data/doc/fonts/Lato-Light.ttf +0 -0
  49. data/doc/fonts/Lato-LightItalic.ttf +0 -0
  50. data/doc/fonts/Lato-Regular.ttf +0 -0
  51. data/doc/fonts/Lato-RegularItalic.ttf +0 -0
  52. data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
  53. data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
  54. data/doc/images/add.png +0 -0
  55. data/doc/images/arrow_up.png +0 -0
  56. data/doc/images/brick.png +0 -0
  57. data/doc/images/brick_link.png +0 -0
  58. data/doc/images/bug.png +0 -0
  59. data/doc/images/bullet_black.png +0 -0
  60. data/doc/images/bullet_toggle_minus.png +0 -0
  61. data/doc/images/bullet_toggle_plus.png +0 -0
  62. data/doc/images/date.png +0 -0
  63. data/doc/images/delete.png +0 -0
  64. data/doc/images/find.png +0 -0
  65. data/doc/images/loadingAnimation.gif +0 -0
  66. data/doc/images/macFFBgHack.png +0 -0
  67. data/doc/images/package.png +0 -0
  68. data/doc/images/page_green.png +0 -0
  69. data/doc/images/page_white_text.png +0 -0
  70. data/doc/images/page_white_width.png +0 -0
  71. data/doc/images/plugin.png +0 -0
  72. data/doc/images/ruby.png +0 -0
  73. data/doc/images/tag_blue.png +0 -0
  74. data/doc/images/tag_green.png +0 -0
  75. data/doc/images/transparent.png +0 -0
  76. data/doc/images/wrench.png +0 -0
  77. data/doc/images/wrench_orange.png +0 -0
  78. data/doc/images/zoom.png +0 -0
  79. data/doc/index.html +174 -0
  80. data/doc/js/darkfish.js +114 -0
  81. data/doc/js/navigation.js +105 -0
  82. data/doc/js/navigation.js.gz +0 -0
  83. data/doc/js/search.js +110 -0
  84. data/doc/js/search_index.js +1 -0
  85. data/doc/js/search_index.js.gz +0 -0
  86. data/doc/js/searcher.js +229 -0
  87. data/doc/js/searcher.js.gz +0 -0
  88. data/doc/table_of_contents.html +1047 -0
  89. data/lib/data_access/DB_client/DB_client.rb +26 -0
  90. data/lib/deep_dup/deep_dup.rb +14 -0
  91. data/lib/logger/logger.rb +64 -0
  92. data/lib/models/binary_tree/binary_tree.rb +163 -0
  93. data/lib/models/binary_tree/binary_tree_iterator.rb +36 -0
  94. data/lib/models/data_list/data_list.rb +97 -0
  95. data/lib/models/data_list/data_list_student_short.rb +16 -0
  96. data/lib/models/data_storage_strategy/JSON_storage_strategy.rb +20 -0
  97. data/lib/models/data_storage_strategy/YAML_storage_strategy.rb +20 -0
  98. data/lib/models/data_storage_strategy/data_storage_strategy.rb +11 -0
  99. data/lib/models/data_table/data_table.rb +52 -0
  100. data/lib/models/filter/filter.rb +5 -0
  101. data/lib/models/filter/filter_decorator.rb +14 -0
  102. data/lib/models/filter/sort_decorator.rb +15 -0
  103. data/lib/models/filter/student_filters/contact_sort_decorator.rb +50 -0
  104. data/lib/models/filter/student_filters/field_filter_decorator.rb +34 -0
  105. data/lib/models/filter/student_filters/full_name_filter_decorator.rb +26 -0
  106. data/lib/models/filter/student_filters/full_name_sort_decorator.rb +32 -0
  107. data/lib/models/filter/student_filters/git_sort_decorator.rb +35 -0
  108. data/lib/models/filter/student_filters/has_not_field_filter_decorator.rb +24 -0
  109. data/lib/models/person/person.rb +72 -0
  110. data/lib/models/student/student.rb +204 -0
  111. data/lib/models/student_short/student_short.rb +98 -0
  112. data/lib/models/students_list/students_list.rb +32 -0
  113. data/lib/models/students_list/students_list_DB.rb +95 -0
  114. data/lib/models/students_list/students_list_file.rb +134 -0
  115. data/lib/models/students_list/students_list_file_adapter.rb +45 -0
  116. data/lib/models/students_list/students_list_interface.rb +25 -0
  117. data/lib/presenters/base_presenters/base_presenter.rb +26 -0
  118. data/lib/presenters/base_presenters/student_list_presenter.rb +273 -0
  119. data/lib/presenters/edit_student/add_student_presenter.rb +46 -0
  120. data/lib/presenters/edit_student/edit_contacts_presenter.rb +36 -0
  121. data/lib/presenters/edit_student/edit_git_presenter.rb +28 -0
  122. data/lib/presenters/edit_student/edit_student_presenter.rb +109 -0
  123. data/lib/presenters/edit_student/replace_student_presenter.rb +37 -0
  124. data/lib/student_mvp/version.rb +5 -0
  125. data/lib/student_mvp.rb +8 -0
  126. data/sig/student_mvp.rbs +4 -0
  127. metadata +253 -0
data/doc/Person.html ADDED
@@ -0,0 +1,511 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+
8
+ <title>class Person - RDoc Documentation</title>
9
+
10
+ <meta name="keywords" content="ruby,class,Person">
11
+
12
+ <meta name="description" content="Documentation for the Person class">
13
+
14
+ <script type="text/javascript">
15
+ var rdoc_rel_prefix = "./";
16
+ var index_rel_prefix = "./";
17
+ </script>
18
+
19
+ <script src="./js/navigation.js" defer></script>
20
+ <script src="./js/search.js" defer></script>
21
+ <script src="./js/search_index.js" defer></script>
22
+ <script src="./js/searcher.js" defer></script>
23
+ <script src="./js/darkfish.js" defer></script>
24
+
25
+ <link href="./css/fonts.css" rel="stylesheet">
26
+ <link href="./css/rdoc.css" rel="stylesheet">
27
+
28
+
29
+ <body id="top" role="document" class="class">
30
+ <div id="navigation-toggle" role="button" tabindex="0" aria-label="Toggle sidebar" aria-expanded="true" aria-controls="navigation">
31
+ <span aria-hidden="true">&#9776;</span>
32
+ </div>
33
+
34
+
35
+ <nav id="navigation" role="navigation">
36
+ <div id="project-navigation">
37
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
38
+ <h2>
39
+ <a href="./index.html" rel="home">Home</a>
40
+ </h2>
41
+
42
+ <div id="table-of-contents-navigation">
43
+ <a href="./table_of_contents.html#pages">Pages</a>
44
+ <a href="./table_of_contents.html#classes">Classes</a>
45
+ <a href="./table_of_contents.html#methods">Methods</a>
46
+ </div>
47
+ </div>
48
+
49
+ <div id="search-section" role="search" class="project-section initially-hidden">
50
+ <form action="#" method="get" accept-charset="utf-8">
51
+ <div id="search-field-wrapper">
52
+ <input id="search-field" role="combobox" aria-label="Search"
53
+ aria-autocomplete="list" aria-controls="search-results"
54
+ type="text" name="search" placeholder="Search (/) for a class, method, ..." spellcheck="false"
55
+ title="Type to search, Up and Down to navigate, Enter to load">
56
+ </div>
57
+
58
+ <ul id="search-results" aria-label="Search Results"
59
+ aria-busy="false" aria-expanded="false"
60
+ aria-atomic="false" class="initially-hidden"></ul>
61
+ </form>
62
+ </div>
63
+
64
+ </div>
65
+
66
+
67
+
68
+ <div id="parent-class-section" class="nav-section">
69
+ <h3>Ancestors</h3>
70
+ <ul><li>Object</li></ul>
71
+ </div>
72
+
73
+
74
+
75
+
76
+ <div class="nav-section">
77
+ <h3>Class Methods</h3>
78
+ <ul class="link-list" role="directory">
79
+ <li ><a href="#method-c-parse_string">parse_string</a></li>
80
+ <li ><a href="#method-c-valid_email-3F">valid_email?</a></li>
81
+ <li ><a href="#method-c-valid_git-3F">valid_git?</a></li>
82
+ <li ><a href="#method-c-valid_name-3F">valid_name?</a></li>
83
+ <li ><a href="#method-c-valid_phone_number-3F">valid_phone_number?</a></li>
84
+ <li ><a href="#method-c-valid_telegram-3F">valid_telegram?</a></li>
85
+ </ul>
86
+ </div>
87
+
88
+
89
+
90
+ <div class="nav-section">
91
+ <h3>Instance Methods</h3>
92
+ <ul class="link-list" role="directory">
93
+ <li ><a href="#method-i-get_any_contact">get_any_contact</a></li>
94
+ <li ><a href="#method-i-git-3D">git=</a></li>
95
+ <li ><a href="#method-i-set_contacts">set_contacts</a></li>
96
+ <li ><a href="#method-i-validate-3F">validate?</a></li>
97
+ <li ><a href="#method-i-validate_git-3F">validate_git?</a></li>
98
+ </ul>
99
+ </div>
100
+
101
+
102
+
103
+ <footer id="validator-badges" role="contentinfo">
104
+ <p><a href="https://validator.w3.org/check/referer">Validate</a>
105
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.8.1.
106
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
107
+ </footer>
108
+
109
+ </nav>
110
+
111
+ <main role="main" aria-labelledby="class-Person">
112
+ <h1 id="class-Person" class="anchor-link class">
113
+ class Person
114
+ </h1>
115
+
116
+ <section class="description">
117
+
118
+ </section>
119
+
120
+ <section id="5Buntitled-5D" class="documentation-section anchor-link">
121
+
122
+
123
+
124
+ <section class="attribute-method-details" class="method-section">
125
+ <header>
126
+ <h3>Attributes</h3>
127
+ </header>
128
+
129
+ <div id="attribute-i-git" class="method-detail anchor-link">
130
+ <div class="method-heading attribute-method-heading">
131
+ <a href="#attribute-i-git" title="Link to this attribute">
132
+ <span class="method-name">git</span>
133
+ <span class="attribute-access-type">[R]</span>
134
+ </a>
135
+ </div>
136
+
137
+ <div class="method-description">
138
+
139
+ </div>
140
+ </div>
141
+ <div id="attribute-i-id" class="method-detail anchor-link">
142
+ <div class="method-heading attribute-method-heading">
143
+ <a href="#attribute-i-id" title="Link to this attribute">
144
+ <span class="method-name">id</span>
145
+ <span class="attribute-access-type">[R]</span>
146
+ </a>
147
+ </div>
148
+
149
+ <div class="method-description">
150
+
151
+ </div>
152
+ </div>
153
+ </section>
154
+
155
+
156
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section anchor-link">
157
+ <header>
158
+ <h3>Public Class Methods</h3>
159
+ </header>
160
+
161
+ <div id="method-c-parse_string" class="method-detail anchor-link ">
162
+ <div class="method-header">
163
+ <div class="method-heading">
164
+ <a href="#method-c-parse_string" title="Link to this method">
165
+ <span class="method-name">parse_string</span>
166
+ <span class="method-args">(string)</span>
167
+ </a>
168
+ </div>
169
+ </div>
170
+
171
+ <div class="method-controls">
172
+ <details class="method-source-toggle">
173
+ <summary>Source</summary>
174
+ </details>
175
+ </div>
176
+
177
+ <div class="method-description">
178
+ <div class="method-source-code" id="parse_string-source">
179
+ <pre><span class="ruby-comment"># File lib/models/person/person.rb, line 50</span>
180
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">parse_string</span>(<span class="ruby-identifier">string</span>)
181
+ <span class="ruby-identifier">data</span> = <span class="ruby-identifier">string</span>.<span class="ruby-identifier">split</span>(<span class="ruby-string">&#39;,&#39;</span>)
182
+ <span class="ruby-identifier">hash</span> = {}
183
+
184
+ <span class="ruby-identifier">data</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span>
185
+ <span class="ruby-identifier">pair</span> = <span class="ruby-identifier">x</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">split</span>(<span class="ruby-string">&#39;:&#39;</span>)
186
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">pair</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">pair</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">pair</span>[<span class="ruby-value">1</span>] <span class="ruby-keyword">then</span>
187
+ <span class="ruby-identifier">hash</span>[<span class="ruby-identifier">pair</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">strip</span>] = <span class="ruby-identifier">pair</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">strip</span> <span class="ruby-operator">+</span> (<span class="ruby-identifier">pair</span>[<span class="ruby-value">2</span>] <span class="ruby-operator">?</span> <span class="ruby-node">&quot;:#{pair[2].strip}&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-string">&#39;&#39;</span>)
188
+ <span class="ruby-keyword">else</span>
189
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-string">&quot;Wrong string format&quot;</span>
190
+ <span class="ruby-keyword">end</span>
191
+ <span class="ruby-keyword">end</span>
192
+
193
+ <span class="ruby-identifier">hash</span>
194
+ <span class="ruby-keyword">end</span></pre>
195
+ </div>
196
+ <p>returning hash</p>
197
+ </div>
198
+
199
+
200
+ </div>
201
+
202
+ <div id="method-c-valid_email-3F" class="method-detail anchor-link ">
203
+ <div class="method-header">
204
+ <div class="method-heading">
205
+ <a href="#method-c-valid_email-3F" title="Link to this method">
206
+ <span class="method-name">valid_email?</span>
207
+ <span class="method-args">(email)</span>
208
+ </a>
209
+ </div>
210
+ </div>
211
+
212
+ <div class="method-controls">
213
+ <details class="method-source-toggle">
214
+ <summary>Source</summary>
215
+ </details>
216
+ </div>
217
+
218
+ <div class="method-description">
219
+ <div class="method-source-code" id="valid_email-3F-source">
220
+ <pre><span class="ruby-comment"># File lib/models/person/person.rb, line 32</span>
221
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">valid_email?</span>(<span class="ruby-identifier">email</span>)
222
+ <span class="ruby-identifier">email</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">email</span> <span class="ruby-operator">==</span> <span class="ruby-string">&quot;&quot;</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">email</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/^[\w+_.-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/</span>
223
+ <span class="ruby-keyword">end</span></pre>
224
+ </div>
225
+ <p>email validation</p>
226
+ </div>
227
+
228
+
229
+ </div>
230
+
231
+ <div id="method-c-valid_git-3F" class="method-detail anchor-link ">
232
+ <div class="method-header">
233
+ <div class="method-heading">
234
+ <a href="#method-c-valid_git-3F" title="Link to this method">
235
+ <span class="method-name">valid_git?</span>
236
+ <span class="method-args">(git)</span>
237
+ </a>
238
+ </div>
239
+ </div>
240
+
241
+ <div class="method-controls">
242
+ <details class="method-source-toggle">
243
+ <summary>Source</summary>
244
+ </details>
245
+ </div>
246
+
247
+ <div class="method-description">
248
+ <div class="method-source-code" id="valid_git-3F-source">
249
+ <pre><span class="ruby-comment"># File lib/models/person/person.rb, line 27</span>
250
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">valid_git?</span>(<span class="ruby-identifier">git</span>)
251
+ <span class="ruby-identifier">git</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">git</span> <span class="ruby-operator">==</span> <span class="ruby-string">&quot;&quot;</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">git</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%r{^https?://github\.com/[a-zA-Z0-9_\-]+$}</span>
252
+ <span class="ruby-keyword">end</span></pre>
253
+ </div>
254
+ <p>git link validation</p>
255
+ </div>
256
+
257
+
258
+ </div>
259
+
260
+ <div id="method-c-valid_name-3F" class="method-detail anchor-link ">
261
+ <div class="method-header">
262
+ <div class="method-heading">
263
+ <a href="#method-c-valid_name-3F" title="Link to this method">
264
+ <span class="method-name">valid_name?</span>
265
+ <span class="method-args">(name)</span>
266
+ </a>
267
+ </div>
268
+ </div>
269
+
270
+ <div class="method-controls">
271
+ <details class="method-source-toggle">
272
+ <summary>Source</summary>
273
+ </details>
274
+ </div>
275
+
276
+ <div class="method-description">
277
+ <div class="method-source-code" id="valid_name-3F-source">
278
+ <pre><span class="ruby-comment"># File lib/models/person/person.rb, line 37</span>
279
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">valid_name?</span>(<span class="ruby-identifier">name</span>)
280
+ <span class="ruby-identifier">name</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/^[А-ЯЁ][а-яё]{1,}(-[А-ЯЁ][а-яё]{1,})?$/</span>
281
+ <span class="ruby-keyword">end</span></pre>
282
+ </div>
283
+ <p>names validation</p>
284
+ </div>
285
+
286
+
287
+ </div>
288
+
289
+ <div id="method-c-valid_phone_number-3F" class="method-detail anchor-link ">
290
+ <div class="method-header">
291
+ <div class="method-heading">
292
+ <a href="#method-c-valid_phone_number-3F" title="Link to this method">
293
+ <span class="method-name">valid_phone_number?</span>
294
+ <span class="method-args">(phone_number)</span>
295
+ </a>
296
+ </div>
297
+ </div>
298
+
299
+ <div class="method-controls">
300
+ <details class="method-source-toggle">
301
+ <summary>Source</summary>
302
+ </details>
303
+ </div>
304
+
305
+ <div class="method-description">
306
+ <div class="method-source-code" id="valid_phone_number-3F-source">
307
+ <pre><span class="ruby-comment"># File lib/models/person/person.rb, line 17</span>
308
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">valid_phone_number?</span>(<span class="ruby-identifier">phone_number</span>)
309
+ <span class="ruby-identifier">phone_number</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">phone_number</span> <span class="ruby-operator">==</span> <span class="ruby-string">&quot;&quot;</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">phone_number</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/^(?:\+7|8)[\s-]?(?:\(?\d{3}\)?[\s-]?)\d{3}[\s-]?\d{2}[\s-]?\d{2}$/</span>
310
+ <span class="ruby-keyword">end</span></pre>
311
+ </div>
312
+ <p>phone number validation</p>
313
+ </div>
314
+
315
+
316
+ </div>
317
+
318
+ <div id="method-c-valid_telegram-3F" class="method-detail anchor-link ">
319
+ <div class="method-header">
320
+ <div class="method-heading">
321
+ <a href="#method-c-valid_telegram-3F" title="Link to this method">
322
+ <span class="method-name">valid_telegram?</span>
323
+ <span class="method-args">(telegram)</span>
324
+ </a>
325
+ </div>
326
+ </div>
327
+
328
+ <div class="method-controls">
329
+ <details class="method-source-toggle">
330
+ <summary>Source</summary>
331
+ </details>
332
+ </div>
333
+
334
+ <div class="method-description">
335
+ <div class="method-source-code" id="valid_telegram-3F-source">
336
+ <pre><span class="ruby-comment"># File lib/models/person/person.rb, line 22</span>
337
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">valid_telegram?</span>(<span class="ruby-identifier">telegram</span>)
338
+ <span class="ruby-identifier">telegram</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">telegram</span> <span class="ruby-operator">==</span> <span class="ruby-string">&quot;&quot;</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">telegram</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/@[a-zA-Z0-9_]{5,}$/</span>
339
+ <span class="ruby-keyword">end</span></pre>
340
+ </div>
341
+ <p>telegram validation</p>
342
+ </div>
343
+
344
+
345
+ </div>
346
+
347
+ </section>
348
+
349
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section anchor-link">
350
+ <header>
351
+ <h3>Public Instance Methods</h3>
352
+ </header>
353
+
354
+ <div id="method-i-validate-3F" class="method-detail anchor-link ">
355
+ <div class="method-header">
356
+ <div class="method-heading">
357
+ <a href="#method-i-validate-3F" title="Link to this method">
358
+ <span class="method-name">validate?</span>
359
+ <span class="method-args">()</span>
360
+ </a>
361
+ </div>
362
+ </div>
363
+
364
+ <div class="method-controls">
365
+ <details class="method-source-toggle">
366
+ <summary>Source</summary>
367
+ </details>
368
+ </div>
369
+
370
+ <div class="method-description">
371
+ <div class="method-source-code" id="validate-3F-source">
372
+ <pre><span class="ruby-comment"># File lib/models/person/person.rb, line 10</span>
373
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">validate?</span>
374
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">validate_git?</span>
375
+ <span class="ruby-keyword">end</span></pre>
376
+ </div>
377
+ <p>validate git</p>
378
+ </div>
379
+
380
+
381
+ </div>
382
+
383
+ <div id="method-i-validate_git-3F" class="method-detail anchor-link ">
384
+ <div class="method-header">
385
+ <div class="method-heading">
386
+ <a href="#method-i-validate_git-3F" title="Link to this method">
387
+ <span class="method-name">validate_git?</span>
388
+ <span class="method-args">()</span>
389
+ </a>
390
+ </div>
391
+ </div>
392
+
393
+ <div class="method-controls">
394
+ <details class="method-source-toggle">
395
+ <summary>Source</summary>
396
+ </details>
397
+ </div>
398
+
399
+ <div class="method-description">
400
+ <div class="method-source-code" id="validate_git-3F-source">
401
+ <pre><span class="ruby-comment"># File lib/models/person/person.rb, line 5</span>
402
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">validate_git?</span>
403
+ <span class="ruby-operator">!</span><span class="ruby-keyword">self</span>.<span class="ruby-identifier">git</span>.<span class="ruby-identifier">nil?</span>
404
+ <span class="ruby-keyword">end</span></pre>
405
+ </div>
406
+ <p>checking for git availability</p>
407
+ </div>
408
+
409
+
410
+ </div>
411
+
412
+ </section>
413
+
414
+ <section id="protected-instance-5Buntitled-5D-method-details" class="method-section anchor-link">
415
+ <header>
416
+ <h3>Protected Instance Methods</h3>
417
+ </header>
418
+
419
+ <div id="method-i-get_any_contact" class="method-detail anchor-link ">
420
+ <div class="method-header">
421
+ <div class="method-heading">
422
+ <a href="#method-i-get_any_contact" title="Link to this method">
423
+ <span class="method-name">get_any_contact</span>
424
+ <span class="method-args">()</span>
425
+ </a>
426
+ </div>
427
+ </div>
428
+
429
+ <div class="method-controls">
430
+ <details class="method-source-toggle">
431
+ <summary>Source</summary>
432
+ </details>
433
+ </div>
434
+
435
+ <div class="method-description">
436
+ <div class="method-source-code" id="get_any_contact-source">
437
+ <pre><span class="ruby-comment"># File lib/models/person/person.rb, line 66</span>
438
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_any_contact</span>
439
+ <span class="ruby-keyword">end</span></pre>
440
+ </div>
441
+
442
+ </div>
443
+
444
+
445
+ </div>
446
+
447
+ <div id="method-i-git-3D" class="method-detail anchor-link ">
448
+ <div class="method-header">
449
+ <div class="method-heading">
450
+ <a href="#method-i-git-3D" title="Link to this method">
451
+ <span class="method-name">git=</span>
452
+ <span class="method-args">(git)</span>
453
+ </a>
454
+ </div>
455
+ </div>
456
+
457
+ <div class="method-controls">
458
+ <details class="method-source-toggle">
459
+ <summary>Source</summary>
460
+ </details>
461
+ </div>
462
+
463
+ <div class="method-description">
464
+ <div class="method-source-code" id="git-3D-source">
465
+ <pre><span class="ruby-comment"># File lib/models/person/person.rb, line 42</span>
466
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">git=</span>(<span class="ruby-identifier">git</span>)
467
+ <span class="ruby-keyword">unless</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">valid_git?</span>(<span class="ruby-identifier">git</span>)
468
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-string">&quot;Wrong git link format&quot;</span>
469
+ <span class="ruby-keyword">end</span>
470
+ <span class="ruby-ivar">@git</span> = <span class="ruby-identifier">git</span>
471
+ <span class="ruby-keyword">end</span></pre>
472
+ </div>
473
+ <p>git setter</p>
474
+ </div>
475
+
476
+
477
+ </div>
478
+
479
+ <div id="method-i-set_contacts" class="method-detail anchor-link ">
480
+ <div class="method-header">
481
+ <div class="method-heading">
482
+ <a href="#method-i-set_contacts" title="Link to this method">
483
+ <span class="method-name">set_contacts</span>
484
+ <span class="method-args">()</span>
485
+ </a>
486
+ </div>
487
+ </div>
488
+
489
+ <div class="method-controls">
490
+ <details class="method-source-toggle">
491
+ <summary>Source</summary>
492
+ </details>
493
+ </div>
494
+
495
+ <div class="method-description">
496
+ <div class="method-source-code" id="set_contacts-source">
497
+ <pre><span class="ruby-comment"># File lib/models/person/person.rb, line 69</span>
498
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">set_contacts</span>
499
+ <span class="ruby-keyword">end</span></pre>
500
+ </div>
501
+
502
+ </div>
503
+
504
+
505
+ </div>
506
+
507
+ </section>
508
+
509
+ </section>
510
+ </main>
511
+
@@ -0,0 +1,147 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+
8
+ <title>README - RDoc Documentation</title>
9
+
10
+ <meta name="keywords" content="ruby,documentation,README">
11
+ <meta name="description" content="README: Delete this and the text below, and describe your gem Welcome to your new gem! In this directory, you&#39;ll find the files you need to be able to packag">
12
+
13
+ <script type="text/javascript">
14
+ var rdoc_rel_prefix = "./";
15
+ var index_rel_prefix = "./";
16
+ </script>
17
+
18
+ <script src="./js/navigation.js" defer></script>
19
+ <script src="./js/search.js" defer></script>
20
+ <script src="./js/search_index.js" defer></script>
21
+ <script src="./js/searcher.js" defer></script>
22
+ <script src="./js/darkfish.js" defer></script>
23
+
24
+ <link href="./css/fonts.css" rel="stylesheet">
25
+ <link href="./css/rdoc.css" rel="stylesheet">
26
+
27
+
28
+ <body id="top" role="document" class="file">
29
+ <div id="navigation-toggle" role="button" tabindex="0" aria-label="Toggle sidebar" aria-expanded="true" aria-controls="navigation">
30
+ <span aria-hidden="true">&#9776;</span>
31
+ </div>
32
+
33
+
34
+ <nav id="navigation" role="navigation">
35
+ <div id="project-navigation">
36
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
37
+ <h2>
38
+ <a href="./index.html" rel="home">Home</a>
39
+ </h2>
40
+
41
+ <div id="table-of-contents-navigation">
42
+ <a href="./table_of_contents.html#pages">Pages</a>
43
+ <a href="./table_of_contents.html#classes">Classes</a>
44
+ <a href="./table_of_contents.html#methods">Methods</a>
45
+ </div>
46
+ </div>
47
+
48
+ <div id="search-section" role="search" class="project-section initially-hidden">
49
+ <form action="#" method="get" accept-charset="utf-8">
50
+ <div id="search-field-wrapper">
51
+ <input id="search-field" role="combobox" aria-label="Search"
52
+ aria-autocomplete="list" aria-controls="search-results"
53
+ type="text" name="search" placeholder="Search (/) for a class, method, ..." spellcheck="false"
54
+ title="Type to search, Up and Down to navigate, Enter to load">
55
+ </div>
56
+
57
+ <ul id="search-results" aria-label="Search Results"
58
+ aria-busy="false" aria-expanded="false"
59
+ aria-atomic="false" class="initially-hidden"></ul>
60
+ </form>
61
+ </div>
62
+
63
+ </div>
64
+
65
+
66
+ <div class="nav-section">
67
+ <h3>Table of Contents</h3>
68
+
69
+
70
+
71
+ <ul class="link-list" role="directory">
72
+ <li>
73
+ <details open>
74
+ <summary> <a href="#label-StudentMvp">StudentMvp</a>
75
+ </summary>
76
+ <ul class="link-list" role="directory">
77
+ <li> <a href="#label-Installation">Installation</a>
78
+ <li> <a href="#label-Usage">Usage</a>
79
+ <li> <a href="#label-Development">Development</a>
80
+ <li> <a href="#label-Contributing">Contributing</a>
81
+
82
+ </ul>
83
+ </details>
84
+ </li>
85
+
86
+ </ul>
87
+ </div>
88
+
89
+
90
+ <div id="fileindex-section" class="nav-section">
91
+ <h3>Pages</h3>
92
+
93
+ <ul class="link-list">
94
+ <li><a href="./Gemfile.html">Gemfile</a>
95
+ <li><a href="./README_md.html">README</a>
96
+ <li><a href="./Rakefile.html">Rakefile</a>
97
+ <li><a href="./bin/setup.html">setup</a>
98
+ </ul>
99
+ </div>
100
+
101
+
102
+ <footer id="validator-badges" role="contentinfo">
103
+ <p><a href="https://validator.w3.org/check/referer">Validate</a>
104
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.8.1.
105
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
106
+ </footer>
107
+
108
+ </nav>
109
+
110
+ <main role="main" aria-label="Page README.md">
111
+
112
+ <h1 id="label-StudentMvp"><a href="StudentMvp.html"><code>StudentMvp</code></a><span><a href="#label-StudentMvp">&para;</a> <a href="#top">&uarr;</a></span></h1>
113
+
114
+ <p>TODO: Delete this and the text below, and describe your gem</p>
115
+
116
+ <p>Welcome to your new gem! In this directory, you’ll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file <code>lib/student_mvp</code>. To experiment with that code, run <code>bin/console</code> for an interactive prompt.</p>
117
+
118
+ <h2 id="label-Installation">Installation<span><a href="#label-Installation">&para;</a> <a href="#top">&uarr;</a></span></h2>
119
+
120
+ <p>TODO: Replace <code>UPDATE_WITH_YOUR_GEM_NAME_IMMEDIATELY_AFTER_RELEASE_TO_RUBYGEMS_ORG</code> with your gem name right after releasing it to RubyGems.org. Please do not do it earlier due to security reasons. Alternatively, replace this section with instructions to install your gem from git if you don’t plan to release to RubyGems.org.</p>
121
+
122
+ <p>Install the gem and add to the application’s <a href="Gemfile.html">Gemfile</a> by executing:</p>
123
+
124
+ <pre class="ruby"><span class="ruby-identifier">bundle</span> <span class="ruby-identifier">add</span> <span class="ruby-constant">UPDATE_WITH_YOUR_GEM_NAME_IMMEDIATELY_AFTER_RELEASE_TO_RUBYGEMS_ORG</span>
125
+ </pre>
126
+
127
+ <p>If bundler is not being used to manage dependencies, install the gem by executing:</p>
128
+
129
+ <pre class="ruby"><span class="ruby-identifier">gem</span> <span class="ruby-identifier">install</span> <span class="ruby-constant">UPDATE_WITH_YOUR_GEM_NAME_IMMEDIATELY_AFTER_RELEASE_TO_RUBYGEMS_ORG</span>
130
+ </pre>
131
+
132
+ <h2 id="label-Usage">Usage<span><a href="#label-Usage">&para;</a> <a href="#top">&uarr;</a></span></h2>
133
+
134
+ <p>TODO: Write usage instructions here</p>
135
+
136
+ <h2 id="label-Development">Development<span><a href="#label-Development">&para;</a> <a href="#top">&uarr;</a></span></h2>
137
+
138
+ <p>After checking out the repo, run <code>bin/setup</code> to install dependencies. You can also run <code>bin/console</code> for an interactive prompt that will allow you to experiment.</p>
139
+
140
+ <p>To install this gem onto your local machine, run <code>bundle exec rake install</code>. To release a new version, update the version number in <code>version.rb</code>, and then run <code>bundle exec rake release</code>, which will create a git tag for the version, push git commits and the created tag, and push the <code>.gem</code> file to <a href="https://rubygems.org">rubygems.org</a>.</p>
141
+
142
+ <h2 id="label-Contributing">Contributing<span><a href="#label-Contributing">&para;</a> <a href="#top">&uarr;</a></span></h2>
143
+
144
+ <p>Bug reports and pull requests are welcome on GitHub at <a href="https://github.com/[USERNAME]/student_mvp">github.com/[USERNAME]/student_mvp</a>.</p>
145
+
146
+ </main>
147
+