shenanigans 1.0.14 → 1.0.17

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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/lib/shenanigans/hash/has_shape_pred.rb +1 -1
  3. data/lib/shenanigans/integer/divisible_by.rb +13 -0
  4. data/lib/shenanigans/integer.rb +1 -0
  5. data/lib/shenanigans/kernel/fn.rb +0 -2
  6. data/lib/shenanigans/kernel/prompt.rb +1 -3
  7. data/lib/shenanigans/kernel/require_optional.rb +0 -2
  8. data/lib/shenanigans/kernel/with.rb +0 -2
  9. data/lib/shenanigans.rb +1 -1
  10. metadata +79 -46
  11. data/Gemfile +0 -9
  12. data/doc/Array.html +0 -549
  13. data/doc/Hash.html +0 -438
  14. data/doc/Integer.html +0 -219
  15. data/doc/Kernel.html +0 -500
  16. data/doc/Module.html +0 -233
  17. data/doc/Object.html +0 -215
  18. data/doc/String.html +0 -300
  19. data/doc/_index.html +0 -185
  20. data/doc/class_list.html +0 -51
  21. data/doc/css/common.css +0 -1
  22. data/doc/css/full_list.css +0 -58
  23. data/doc/css/style.css +0 -496
  24. data/doc/file.README.html +0 -131
  25. data/doc/file_list.html +0 -56
  26. data/doc/frames.html +0 -17
  27. data/doc/index.html +0 -131
  28. data/doc/js/app.js +0 -314
  29. data/doc/js/full_list.js +0 -216
  30. data/doc/js/jquery.js +0 -4
  31. data/doc/method_list.html +0 -179
  32. data/doc/top-level-namespace.html +0 -112
  33. data/test/array/caret_test.rb +0 -9
  34. data/test/array/random_subarray_test.rb +0 -10
  35. data/test/array/reductions_test.rb +0 -27
  36. data/test/array/zip_with_test.rb +0 -14
  37. data/test/hash/extract_test.rb +0 -11
  38. data/test/hash/has_shape_pred_test.rb +0 -40
  39. data/test/hash/to_ostruct_test.rb +0 -23
  40. data/test/integer/string_length_test.rb +0 -16
  41. data/test/kernel/fn_test.rb +0 -14
  42. data/test/kernel/prompt_test.rb +0 -27
  43. data/test/kernel/require_optional_test.rb +0 -15
  44. data/test/kernel/with_test.rb +0 -12
  45. data/test/module/private_accessor_test.rb +0 -21
  46. data/test/object/display_test.rb +0 -35
  47. data/test/string/cmpi_test.rb +0 -10
  48. data/test/string/in_groups_of_test.rb +0 -11
data/doc/Kernel.html DELETED
@@ -1,500 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>
7
- Module: Kernel
8
-
9
- &mdash; Documentation by YARD 0.9.24
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="css/style.css" type="text/css" />
14
-
15
- <link rel="stylesheet" href="css/common.css" type="text/css" />
16
-
17
- <script type="text/javascript">
18
- pathId = "Kernel";
19
- relpath = '';
20
- </script>
21
-
22
-
23
- <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
24
-
25
- <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
26
-
27
-
28
- </head>
29
- <body>
30
- <div class="nav_wrap">
31
- <iframe id="nav" src="class_list.html?1"></iframe>
32
- <div id="resizer"></div>
33
- </div>
34
-
35
- <div id="main" tabindex="-1">
36
- <div id="header">
37
- <div id="menu">
38
-
39
- <a href="_index.html">Index (K)</a> &raquo;
40
-
41
-
42
- <span class="title">Kernel</span>
43
-
44
- </div>
45
-
46
- <div id="search">
47
-
48
- <a class="full_list_link" id="class_list_link"
49
- href="class_list.html">
50
-
51
- <svg width="24" height="24">
52
- <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
- <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
- <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
- </svg>
56
- </a>
57
-
58
- </div>
59
- <div class="clear"></div>
60
- </div>
61
-
62
- <div id="content"><h1>Module: Kernel
63
-
64
-
65
-
66
- </h1>
67
- <div class="box_info">
68
-
69
-
70
-
71
-
72
-
73
-
74
-
75
-
76
-
77
-
78
-
79
- <dl>
80
- <dt>Defined in:</dt>
81
- <dd>lib/shenanigans/kernel/fn.rb<span class="defines">,<br />
82
- lib/shenanigans/kernel/with.rb,<br /> lib/shenanigans/kernel/prompt.rb,<br /> lib/shenanigans/kernel/require_optional.rb</span>
83
- </dd>
84
- </dl>
85
-
86
- </div>
87
-
88
-
89
-
90
- <h2>
91
- Constant Summary
92
- <small><a href="#" class="constants_summary_toggle">collapse</a></small>
93
- </h2>
94
-
95
- <dl class="constants">
96
-
97
- <dt id="CONVERSIONS-constant" class="">CONVERSIONS =
98
- <div class="docstring">
99
- <div class="discussion">
100
-
101
- <p>Currently only used by <code>prompt</code>: <code>:to_i</code>, <code>:to_f</code>, <code>:to_r</code>, <code>:to_sym</code>, <code>:to_c</code></p>
102
-
103
-
104
- </div>
105
- </div>
106
- <div class="tags">
107
-
108
-
109
- </div>
110
- </dt>
111
- <dd><pre class="code"><span class='lbracket'>[</span><span class='symbol'>:to_i</span><span class='comma'>,</span> <span class='symbol'>:to_f</span><span class='comma'>,</span> <span class='symbol'>:to_r</span><span class='comma'>,</span> <span class='symbol'>:to_sym</span><span class='comma'>,</span> <span class='symbol'>:to_c</span><span class='rbracket'>]</span></pre></dd>
112
-
113
- </dl>
114
-
115
-
116
-
117
-
118
-
119
-
120
-
121
-
122
-
123
- <h2>
124
- Instance Method Summary
125
- <small><a href="#" class="summary_toggle">collapse</a></small>
126
- </h2>
127
-
128
- <ul class="summary">
129
-
130
- <li class="private ">
131
- <span class="summary_signature">
132
-
133
- <a href="#fn-instance_method" title="#fn (instance method)">#<strong>fn</strong>(*funs) &#x21d2; Object </a>
134
-
135
-
136
-
137
- </span>
138
-
139
-
140
-
141
- <span class="note title private">private</span>
142
-
143
-
144
-
145
-
146
-
147
- <span class="summary_desc"><div class='inline'>
148
- <p>Composes a list of functions.</p>
149
- </div></span>
150
-
151
- </li>
152
-
153
-
154
- <li class="private ">
155
- <span class="summary_signature">
156
-
157
- <a href="#prompt-instance_method" title="#prompt (instance method)">#<strong>prompt</strong>(text = &quot;&quot;, conversion = nil) &#x21d2; Object </a>
158
-
159
-
160
-
161
- </span>
162
-
163
-
164
-
165
- <span class="note title private">private</span>
166
-
167
-
168
-
169
-
170
-
171
- <span class="summary_desc"><div class='inline'>
172
- <p>Displays a prompt and returns chomped input.</p>
173
- </div></span>
174
-
175
- </li>
176
-
177
-
178
- <li class="private ">
179
- <span class="summary_signature">
180
-
181
- <a href="#require_optional-instance_method" title="#require_optional (instance method)">#<strong>require_optional</strong>(gem, &amp;block) &#x21d2; Object </a>
182
-
183
-
184
-
185
- </span>
186
-
187
-
188
-
189
- <span class="note title private">private</span>
190
-
191
-
192
-
193
-
194
-
195
- <span class="summary_desc"><div class='inline'>
196
- <p>Optionally require a gem.</p>
197
- </div></span>
198
-
199
- </li>
200
-
201
-
202
- <li class="private ">
203
- <span class="summary_signature">
204
-
205
- <a href="#with-instance_method" title="#with (instance method)">#<strong>with</strong>(o, &amp;blk) &#x21d2; Object </a>
206
-
207
-
208
-
209
- </span>
210
-
211
-
212
-
213
- <span class="note title private">private</span>
214
-
215
-
216
-
217
-
218
-
219
- <span class="summary_desc"><div class='inline'>
220
- <p>A Pascal/ActionScript like <code>with</code> method.</p>
221
- </div></span>
222
-
223
- </li>
224
-
225
-
226
- </ul>
227
-
228
-
229
-
230
-
231
- <div id="instance_method_details" class="method_details_list">
232
- <h2>Instance Method Details</h2>
233
-
234
-
235
- <div class="method_details first">
236
- <h3 class="signature first" id="fn-instance_method">
237
-
238
- #<strong>fn</strong>(*funs) &#x21d2; <tt><span class='object_link'><a href="Object.html" title="Object (class)">Object</a></span></tt> <span class="extras">(private)</span>
239
-
240
-
241
-
242
-
243
-
244
- </h3><div class="docstring">
245
- <div class="discussion">
246
-
247
- <p>Composes a list of functions. Functions can be specified as symbols or lambdas.</p>
248
-
249
-
250
- </div>
251
- </div>
252
- <div class="tags">
253
-
254
- <div class="examples">
255
- <p class="tag_title">Examples:</p>
256
-
257
-
258
- <p class="example_title"><div class='inline'>
259
- <p>Composing symbols</p>
260
- </div></p>
261
-
262
- <pre class="example code"><code><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>foo bar</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>baz qux</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_fn'>fn</span><span class='lparen'>(</span><span class='symbol'>:split</span><span class='comma'>,</span> <span class='symbol'>:last</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='comment'>#=&gt; [&quot;bar&quot;, &quot;qux&quot;]</span></code></pre>
263
-
264
-
265
- <p class="example_title"><div class='inline'>
266
- <p>Composing symbplds and lambdas</p>
267
- </div></p>
268
-
269
- <pre class="example code"><code><span class='lparen'>(</span><span class='int'>1</span><span class='op'>..</span><span class='int'>3</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_fn'>fn</span><span class='lparen'>(</span><span class='symbol'>:next</span><span class='comma'>,</span> <span class='tlambda'>-&gt;</span> <span class='id identifier rubyid_x'>x</span> <span class='tlambeg'>{</span> <span class='id identifier rubyid_x'>x</span> <span class='op'>*</span> <span class='id identifier rubyid_x'>x</span> <span class='rbrace'>}</span><span class='comma'>,</span> <span class='tlambda'>-&gt;</span> <span class='id identifier rubyid_x'>x</span> <span class='tlambeg'>{</span> <span class='id identifier rubyid_x'>x</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>/</span> <span class='int'>2</span> <span class='rbrace'>}</span> <span class='rparen'>)</span><span class='rparen'>)</span><span class='comment'>#=&gt; [2.0, 4.5, 8.0]</span>
270
- </code></pre>
271
-
272
- </div>
273
-
274
-
275
- </div><table class="source_code">
276
- <tr>
277
- <td>
278
- <pre class="lines">
279
-
280
-
281
- 10
282
- 11
283
- 12
284
- 13
285
- 14
286
- 15
287
- 16</pre>
288
- </td>
289
- <td>
290
- <pre class="code"><span class="info file"># File 'lib/shenanigans/kernel/fn.rb', line 10</span>
291
-
292
- <span class='kw'>def</span> <span class='id identifier rubyid_fn'>fn</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_funs'>funs</span><span class='rparen'>)</span>
293
- <span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_x'>x</span><span class='rparen'>)</span> <span class='kw'>do</span>
294
- <span class='id identifier rubyid_funs'>funs</span><span class='period'>.</span><span class='id identifier rubyid_inject'>inject</span><span class='lparen'>(</span><span class='id identifier rubyid_x'>x</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='comma'>,</span> <span class='id identifier rubyid_f'>f</span><span class='op'>|</span>
295
- <span class='const'>Proc</span> <span class='op'>===</span> <span class='id identifier rubyid_f'>f</span> <span class='op'>?</span> <span class='id identifier rubyid_f'>f</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_f'>f</span><span class='rparen'>)</span>
296
- <span class='kw'>end</span>
297
- <span class='kw'>end</span>
298
- <span class='kw'>end</span></pre>
299
- </td>
300
- </tr>
301
- </table>
302
- </div>
303
-
304
- <div class="method_details ">
305
- <h3 class="signature " id="prompt-instance_method">
306
-
307
- #<strong>prompt</strong>(text = &quot;&quot;, conversion = nil) &#x21d2; <tt><span class='object_link'><a href="Object.html" title="Object (class)">Object</a></span></tt> <span class="extras">(private)</span>
308
-
309
-
310
-
311
-
312
-
313
- </h3><div class="docstring">
314
- <div class="discussion">
315
-
316
- <p>Displays a prompt and returns chomped input. Modelled after the Python method <code>raw_input</code>, but also can be supplied with an optional conversion method.</p>
317
-
318
-
319
- </div>
320
- </div>
321
- <div class="tags">
322
-
323
- <div class="examples">
324
- <p class="tag_title">Examples:</p>
325
-
326
-
327
- <p class="example_title"><div class='inline'>
328
- <p>A simple prompt</p>
329
- </div></p>
330
-
331
- <pre class="example code"><code><span class='id identifier rubyid_prompt'>prompt</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Prompt&gt; </span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
332
- <span class='const'>Prompt</span><span class='op'>&gt;</span> <span class='int'>12</span> <span class='comment'>#=&gt; &quot;12&quot;</span></code></pre>
333
-
334
-
335
- <p class="example_title"><div class='inline'>
336
- <p>A prompt with conversion</p>
337
- </div></p>
338
-
339
- <pre class="example code"><code><span class='id identifier rubyid_prompt'>prompt</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Prompt&gt; </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='symbol'>:to_f</span><span class='rparen'>)</span>
340
- <span class='const'>Prompt</span><span class='op'>&gt;</span> <span class='int'>12</span> <span class='comment'>#=&gt; 12.0</span></code></pre>
341
-
342
- </div>
343
-
344
-
345
- </div><table class="source_code">
346
- <tr>
347
- <td>
348
- <pre class="lines">
349
-
350
-
351
- 16
352
- 17
353
- 18
354
- 19
355
- 20</pre>
356
- </td>
357
- <td>
358
- <pre class="code"><span class="info file"># File 'lib/shenanigans/kernel/prompt.rb', line 16</span>
359
-
360
- <span class='kw'>def</span> <span class='id identifier rubyid_prompt'>prompt</span><span class='lparen'>(</span><span class='id identifier rubyid_text'>text</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_conversion'>conversion</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
361
- <span class='id identifier rubyid_print'>print</span> <span class='id identifier rubyid_text'>text</span> <span class='kw'>unless</span> <span class='id identifier rubyid_text'>text</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
362
- <span class='id identifier rubyid_input'>input</span> <span class='op'>=</span> <span class='id identifier rubyid_gets'>gets</span><span class='period'>.</span><span class='id identifier rubyid_chomp'>chomp</span>
363
- <span class='const'><span class='object_link'><a href="#CONVERSIONS-constant" title="Kernel::CONVERSIONS (constant)">CONVERSIONS</a></span></span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_conversion'>conversion</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_input'>input</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_conversion'>conversion</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_input'>input</span>
364
- <span class='kw'>end</span></pre>
365
- </td>
366
- </tr>
367
- </table>
368
- </div>
369
-
370
- <div class="method_details ">
371
- <h3 class="signature " id="require_optional-instance_method">
372
-
373
- #<strong>require_optional</strong>(gem, &amp;block) &#x21d2; <tt><span class='object_link'><a href="Object.html" title="Object (class)">Object</a></span></tt> <span class="extras">(private)</span>
374
-
375
-
376
-
377
-
378
-
379
- </h3><div class="docstring">
380
- <div class="discussion">
381
-
382
- <p>Optionally require a gem. If it is not available, <code>nil</code> will be returned. Alternatively, a block can be provided with code to run.</p>
383
-
384
-
385
- </div>
386
- </div>
387
- <div class="tags">
388
-
389
- <div class="examples">
390
- <p class="tag_title">Examples:</p>
391
-
392
-
393
- <p class="example_title"><div class='inline'>
394
- <p>Without a block</p>
395
- </div></p>
396
-
397
- <pre class="example code"><code><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>non_existent</span><span class='tstring_end'>&quot;</span></span> <span class='comment'>#=&gt; nil</span></code></pre>
398
-
399
-
400
- <p class="example_title"><div class='inline'>
401
- <p>With a custom block</p>
402
- </div></p>
403
-
404
- <pre class="example code"><code><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>non_existent</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>do</span>
405
- <span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Something went wrong</span><span class='tstring_end'>&quot;</span></span>
406
- <span class='kw'>end</span> <span class='comment'>#=&gt; Outputs &quot;Something went wrong&quot;</span></code></pre>
407
-
408
- </div>
409
-
410
-
411
- </div><table class="source_code">
412
- <tr>
413
- <td>
414
- <pre class="lines">
415
-
416
-
417
- 12
418
- 13
419
- 14
420
- 15
421
- 16</pre>
422
- </td>
423
- <td>
424
- <pre class="code"><span class="info file"># File 'lib/shenanigans/kernel/require_optional.rb', line 12</span>
425
-
426
- <span class='kw'>def</span> <span class='id identifier rubyid_require_optional'>require_optional</span><span class='lparen'>(</span><span class='id identifier rubyid_gem'>gem</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
427
- <span class='id identifier rubyid_require'>require</span> <span class='id identifier rubyid_gem'>gem</span>
428
- <span class='kw'>rescue</span> <span class='const'>LoadError</span>
429
- <span class='id identifier rubyid_block'>block</span><span class='op'>&amp;.</span><span class='id identifier rubyid_call'>call</span>
430
- <span class='kw'>end</span></pre>
431
- </td>
432
- </tr>
433
- </table>
434
- </div>
435
-
436
- <div class="method_details ">
437
- <h3 class="signature " id="with-instance_method">
438
-
439
- #<strong>with</strong>(o, &amp;blk) &#x21d2; <tt><span class='object_link'><a href="Object.html" title="Object (class)">Object</a></span></tt> <span class="extras">(private)</span>
440
-
441
-
442
-
443
-
444
-
445
- </h3><div class="docstring">
446
- <div class="discussion">
447
-
448
- <p>A Pascal/ActionScript like <code>with</code> method. Yields its argument to the provided block and then returns it.</p>
449
-
450
-
451
- </div>
452
- </div>
453
- <div class="tags">
454
-
455
- <div class="examples">
456
- <p class="tag_title">Examples:</p>
457
-
458
-
459
- <pre class="example code"><code><span class='id identifier rubyid_with'>with</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_a'>a</span><span class='op'>|</span>
460
- <span class='id identifier rubyid_a'>a</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>a</span><span class='tstring_end'>&quot;</span></span>
461
- <span class='id identifier rubyid_a'>a</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>b</span><span class='tstring_end'>&quot;</span></span>
462
- <span class='kw'>end</span> <span class='comment'>#=&gt; [&quot;a&quot;, &quot;b&quot;]</span></code></pre>
463
-
464
- </div>
465
-
466
-
467
- </div><table class="source_code">
468
- <tr>
469
- <td>
470
- <pre class="lines">
471
-
472
-
473
- 10
474
- 11
475
- 12</pre>
476
- </td>
477
- <td>
478
- <pre class="code"><span class="info file"># File 'lib/shenanigans/kernel/with.rb', line 10</span>
479
-
480
- <span class='kw'>def</span> <span class='id identifier rubyid_with'>with</span><span class='lparen'>(</span><span class='id identifier rubyid_o'>o</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_blk'>blk</span><span class='rparen'>)</span>
481
- <span class='id identifier rubyid_o'>o</span><span class='period'>.</span><span class='id identifier rubyid_tap'>tap</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_blk'>blk</span><span class='rparen'>)</span>
482
- <span class='kw'>end</span></pre>
483
- </td>
484
- </tr>
485
- </table>
486
- </div>
487
-
488
- </div>
489
-
490
- </div>
491
-
492
- <div id="footer">
493
- Generated on Tue May 5 19:54:28 2020 by
494
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
495
- 0.9.24 (ruby-2.7.1).
496
- </div>
497
-
498
- </div>
499
- </body>
500
- </html>