shenanigans 1.0.13 → 1.0.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -1
  3. data/doc/Array.html +104 -74
  4. data/doc/Hash.html +77 -56
  5. data/doc/{Fixnum.html → Integer.html} +31 -27
  6. data/doc/Kernel.html +114 -74
  7. data/doc/Module.html +11 -15
  8. data/doc/Object.html +24 -95
  9. data/doc/String.html +31 -30
  10. data/doc/_index.html +13 -13
  11. data/doc/class_list.html +3 -3
  12. data/doc/css/style.css +6 -9
  13. data/doc/file.README.html +19 -48
  14. data/doc/file_list.html +2 -2
  15. data/doc/frames.html +2 -2
  16. data/doc/index.html +19 -48
  17. data/doc/js/app.js +69 -3
  18. data/doc/method_list.html +12 -20
  19. data/doc/top-level-namespace.html +7 -7
  20. data/lib/shenanigans.rb +7 -7
  21. data/lib/shenanigans/array.rb +3 -3
  22. data/lib/shenanigans/array/caret.rb +3 -2
  23. data/lib/shenanigans/array/random_subarray.rb +7 -5
  24. data/lib/shenanigans/array/reductions.rb +13 -10
  25. data/lib/shenanigans/array/zip_with.rb +9 -12
  26. data/lib/shenanigans/hash.rb +3 -3
  27. data/lib/shenanigans/hash/extract.rb +5 -4
  28. data/lib/shenanigans/hash/has_shape_pred.rb +6 -7
  29. data/lib/shenanigans/hash/to_ostruct.rb +8 -9
  30. data/lib/shenanigans/integer.rb +1 -0
  31. data/lib/shenanigans/integer/string_length.rb +13 -0
  32. data/lib/shenanigans/kernel.rb +4 -4
  33. data/lib/shenanigans/kernel/fn.rb +7 -6
  34. data/lib/shenanigans/kernel/prompt.rb +6 -7
  35. data/lib/shenanigans/kernel/require_optional.rb +8 -8
  36. data/lib/shenanigans/kernel/with.rb +4 -3
  37. data/lib/shenanigans/module.rb +1 -1
  38. data/lib/shenanigans/module/private_accessor.rb +6 -6
  39. data/lib/shenanigans/object.rb +1 -2
  40. data/lib/shenanigans/object/display.rb +5 -4
  41. data/lib/shenanigans/string.rb +2 -2
  42. data/lib/shenanigans/string/cmpi.rb +4 -3
  43. data/lib/shenanigans/string/in_groups_of.rb +4 -6
  44. data/test/array/caret_test.rb +9 -0
  45. data/test/array/{test_random_subarray.rb → random_subarray_test.rb} +3 -3
  46. data/test/array/reductions_test.rb +27 -0
  47. data/test/array/zip_with_test.rb +14 -0
  48. data/test/hash/extract_test.rb +11 -0
  49. data/test/hash/{test_has_shape_pred.rb → has_shape_pred_test.rb} +3 -3
  50. data/test/hash/{test_to_ostruct.rb → to_ostruct_test.rb} +3 -3
  51. data/test/integer/string_length_test.rb +16 -0
  52. data/test/kernel/fn_test.rb +14 -0
  53. data/test/kernel/{test_prompt.rb → prompt_test.rb} +4 -4
  54. data/test/kernel/require_optional_test.rb +15 -0
  55. data/test/kernel/with_test.rb +12 -0
  56. data/test/module/{test_private_accessor.rb → private_accessor_test.rb} +3 -3
  57. data/test/object/{test_display.rb → display_test.rb} +4 -5
  58. data/test/string/{test_cmpi.rb → cmpi_test.rb} +3 -3
  59. data/test/string/in_groups_of_test.rb +11 -0
  60. metadata +22 -25
  61. data/lib/shenanigans/fixnum.rb +0 -1
  62. data/lib/shenanigans/fixnum/string_length.rb +0 -14
  63. data/lib/shenanigans/object/it.rb +0 -9
  64. data/test/array/test_caret.rb +0 -9
  65. data/test/array/test_reductions.rb +0 -27
  66. data/test/array/test_zip_with.rb +0 -14
  67. data/test/fixnum/test_string_length.rb +0 -16
  68. data/test/hash/test_extract.rb +0 -11
  69. data/test/kernel/test_fn.rb +0 -14
  70. data/test/kernel/test_require_optional.rb +0 -17
  71. data/test/kernel/test_with.rb +0 -12
  72. data/test/object/test_it.rb +0 -10
  73. data/test/string/test_in_groups_of.rb +0 -11
@@ -4,18 +4,18 @@
4
4
  <meta charset="utf-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>
7
- Class: Fixnum
7
+ Class: Integer
8
8
 
9
- &mdash; Documentation by YARD 0.9.12
9
+ &mdash; Documentation by YARD 0.9.24
10
10
 
11
11
  </title>
12
12
 
13
- <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" />
14
14
 
15
- <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" />
16
16
 
17
- <script type="text/javascript" charset="utf-8">
18
- pathId = "Fixnum";
17
+ <script type="text/javascript">
18
+ pathId = "Integer";
19
19
  relpath = '';
20
20
  </script>
21
21
 
@@ -36,10 +36,10 @@
36
36
  <div id="header">
37
37
  <div id="menu">
38
38
 
39
- <a href="_index.html">Index (F)</a> &raquo;
39
+ <a href="_index.html">Index (I)</a> &raquo;
40
40
 
41
41
 
42
- <span class="title">Fixnum</span>
42
+ <span class="title">Integer</span>
43
43
 
44
44
  </div>
45
45
 
@@ -59,7 +59,7 @@
59
59
  <div class="clear"></div>
60
60
  </div>
61
61
 
62
- <div id="content"><h1>Class: Fixnum
62
+ <div id="content"><h1>Class: Integer
63
63
 
64
64
 
65
65
 
@@ -74,7 +74,7 @@
74
74
  <ul class="fullTree">
75
75
  <li><span class='object_link'><a href="Object.html" title="Object (class)">Object</a></span></li>
76
76
 
77
- <li class="next">Fixnum</li>
77
+ <li class="next">Integer</li>
78
78
 
79
79
  </ul>
80
80
  <a href="#" class="inheritanceTree">show all</a>
@@ -94,7 +94,7 @@
94
94
 
95
95
  <dl>
96
96
  <dt>Defined in:</dt>
97
- <dd>lib/shenanigans/fixnum/string_length.rb</dd>
97
+ <dd>lib/shenanigans/integer/string_length.rb</dd>
98
98
  </dl>
99
99
 
100
100
  </div>
@@ -161,19 +161,21 @@
161
161
 
162
162
  <p>Returns the length of the number&#39;s string representation.</p>
163
163
 
164
- <pre class="code ruby"><code class="ruby"><span class='int'>0</span><span class='period'>.</span><span class='id identifier rubyid_string_length'>string_length</span>
165
- <span class='comment'>#=&gt; 1
166
- </span><span class='int'>123</span><span class='period'>.</span><span class='id identifier rubyid_string_length'>string_length</span>
167
- <span class='comment'>#=&gt; 3
168
- </span><span class='op'>-</span><span class='int'>1</span><span class='period'>.</span><span class='id identifier rubyid_string_length'>string_length</span>
169
- <span class='comment'>#=&gt; 2
170
- </span></code></pre>
171
-
172
164
 
173
165
  </div>
174
166
  </div>
175
167
  <div class="tags">
176
168
 
169
+ <div class="examples">
170
+ <p class="tag_title">Examples:</p>
171
+
172
+
173
+ <pre class="example code"><code><span class='int'>0</span><span class='period'>.</span><span class='id identifier rubyid_string_length'>string_length</span> <span class='comment'>#=&gt; 1
174
+ </span><span class='int'>123</span><span class='period'>.</span><span class='id identifier rubyid_string_length'>string_length</span> <span class='comment'>#=&gt; 3
175
+ </span><span class='op'>-</span><span class='int'>1</span><span class='period'>.</span><span class='id identifier rubyid_string_length'>string_length</span> <span class='comment'>#=&gt; 2</span></code></pre>
176
+
177
+ </div>
178
+
177
179
 
178
180
  </div><table class="source_code">
179
181
  <tr>
@@ -181,19 +183,21 @@
181
183
  <pre class="lines">
182
184
 
183
185
 
186
+ 7
187
+ 8
184
188
  9
185
189
  10
186
190
  11
187
- 12
188
- 13</pre>
191
+ 12</pre>
189
192
  </td>
190
193
  <td>
191
- <pre class="code"><span class="info file"># File 'lib/shenanigans/fixnum/string_length.rb', line 9</span>
194
+ <pre class="code"><span class="info file"># File 'lib/shenanigans/integer/string_length.rb', line 7</span>
192
195
 
193
196
  <span class='kw'>def</span> <span class='id identifier rubyid_string_length'>string_length</span>
194
- <span class='kw'>return</span> <span class='int'>1</span> <span class='kw'>if</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_zero?'>zero?</span>
195
- <span class='id identifier rubyid_len'>len</span> <span class='op'>=</span> <span class='const'>Math</span><span class='period'>.</span><span class='id identifier rubyid_log10'>log10</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_abs'>abs</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_floor'>floor</span><span class='period'>.</span><span class='id identifier rubyid_next'>next</span>
196
- <span class='kw'>self</span> <span class='op'>&gt;</span> <span class='int'>0</span> <span class='op'>?</span> <span class='id identifier rubyid_len'>len</span> <span class='op'>:</span> <span class='id identifier rubyid_len'>len</span><span class='period'>.</span><span class='id identifier rubyid_next'>next</span>
197
+ <span class='kw'>return</span> <span class='int'>1</span> <span class='kw'>if</span> <span class='id identifier rubyid_zero?'>zero?</span>
198
+
199
+ <span class='id identifier rubyid_len'>len</span> <span class='op'>=</span> <span class='const'>Math</span><span class='period'>.</span><span class='id identifier rubyid_log10'>log10</span><span class='lparen'>(</span><span class='id identifier rubyid_abs'>abs</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_floor'>floor</span><span class='period'>.</span><span class='id identifier rubyid_next'>next</span>
200
+ <span class='id identifier rubyid_positive?'>positive?</span> <span class='op'>?</span> <span class='id identifier rubyid_len'>len</span> <span class='op'>:</span> <span class='id identifier rubyid_len'>len</span><span class='period'>.</span><span class='id identifier rubyid_next'>next</span>
197
201
  <span class='kw'>end</span></pre>
198
202
  </td>
199
203
  </tr>
@@ -205,9 +209,9 @@
205
209
  </div>
206
210
 
207
211
  <div id="footer">
208
- Generated on Thu Feb 1 16:36:55 2018 by
212
+ Generated on Tue May 5 19:54:28 2020 by
209
213
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
210
- 0.9.12 (ruby-2.5.0).
214
+ 0.9.24 (ruby-2.7.1).
211
215
  </div>
212
216
 
213
217
  </div>
@@ -6,15 +6,15 @@
6
6
  <title>
7
7
  Module: Kernel
8
8
 
9
- &mdash; Documentation by YARD 0.9.12
9
+ &mdash; Documentation by YARD 0.9.24
10
10
 
11
11
  </title>
12
12
 
13
- <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" />
14
14
 
15
- <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" />
16
16
 
17
- <script type="text/javascript" charset="utf-8">
17
+ <script type="text/javascript">
18
18
  pathId = "Kernel";
19
19
  relpath = '';
20
20
  </script>
@@ -86,16 +86,19 @@
86
86
  </div>
87
87
 
88
88
 
89
- <h2>Constant Summary</h2>
90
- <dl class="constants">
91
-
92
- <dt id="CONVERSIONS-constant" class="">CONVERSIONS =
93
- <div class="docstring">
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">
94
99
  <div class="discussion">
95
100
 
96
- <p>Currently only used by <code>prompt</code>: <code>:to_i</code>,
97
- <code>:to_f</code>, <code>:to_r</code>, <code>:to_sym</code>,
98
- <code>:to_c</code></p>
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>
99
102
 
100
103
 
101
104
  </div>
@@ -104,10 +107,11 @@
104
107
 
105
108
 
106
109
  </div>
107
- </dt>
108
- <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>
109
-
110
- </dl>
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
+
111
115
 
112
116
 
113
117
 
@@ -150,7 +154,7 @@
150
154
  <li class="private ">
151
155
  <span class="summary_signature">
152
156
 
153
- <a href="#prompt-instance_method" title="#prompt (instance method)">#<strong>prompt</strong>(text = &#39;&#39;, conversion = nil) &#x21d2; Object </a>
157
+ <a href="#prompt-instance_method" title="#prompt (instance method)">#<strong>prompt</strong>(text = &quot;&quot;, conversion = nil) &#x21d2; Object </a>
154
158
 
155
159
 
156
160
 
@@ -240,21 +244,33 @@
240
244
  </h3><div class="docstring">
241
245
  <div class="discussion">
242
246
 
243
- <p>Composes a list of functions. Functions can be specified as symbols or
244
- lambdas.</p>
245
-
246
- <pre class="code ruby"><code class="ruby"><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='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>
247
- <span class='comment'>#=&gt; [&quot;bar&quot;, &quot;qux&quot;]
248
- </span>
249
- <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='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>
250
- <span class='comment'>#=&gt; [2.0, 4.5, 8.0]
251
- </span></code></pre>
247
+ <p>Composes a list of functions. Functions can be specified as symbols or lambdas.</p>
252
248
 
253
249
 
254
250
  </div>
255
251
  </div>
256
252
  <div class="tags">
257
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
+
258
274
 
259
275
  </div><table class="source_code">
260
276
  <tr>
@@ -262,20 +278,20 @@ lambdas.</p>
262
278
  <pre class="lines">
263
279
 
264
280
 
265
- 9
266
281
  10
267
282
  11
268
283
  12
269
284
  13
270
285
  14
271
- 15</pre>
286
+ 15
287
+ 16</pre>
272
288
  </td>
273
289
  <td>
274
- <pre class="code"><span class="info file"># File 'lib/shenanigans/kernel/fn.rb', line 9</span>
290
+ <pre class="code"><span class="info file"># File 'lib/shenanigans/kernel/fn.rb', line 10</span>
275
291
 
276
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>
277
- <span class='tlambda'>-&gt;</span> <span class='id identifier rubyid_x'>x</span> <span class='kw'>do</span>
278
- <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>
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>
279
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>
280
296
  <span class='kw'>end</span>
281
297
  <span class='kw'>end</span>
@@ -288,7 +304,7 @@ lambdas.</p>
288
304
  <div class="method_details ">
289
305
  <h3 class="signature " id="prompt-instance_method">
290
306
 
291
- #<strong>prompt</strong>(text = &#39;&#39;, conversion = nil) &#x21d2; <tt><span class='object_link'><a href="Object.html" title="Object (class)">Object</a></span></tt> <span class="extras">(private)</span>
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>
292
308
 
293
309
 
294
310
 
@@ -297,24 +313,34 @@ lambdas.</p>
297
313
  </h3><div class="docstring">
298
314
  <div class="discussion">
299
315
 
300
- <p>Displays a prompt and returns chomped input. Modelled after the Python
301
- method <code>raw_input</code>, but also can be supplied with an optional
302
- conversion method.</p>
303
-
304
- <pre class="code ruby"><code class="ruby"><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>
305
- <span class='const'>Prompt</span><span class='op'>&gt;</span> <span class='int'>12</span>
306
- <span class='comment'>#=&gt; &quot;12&quot;
307
- </span>
308
- <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>
309
- <span class='const'>Prompt</span><span class='op'>&gt;</span> <span class='int'>12</span>
310
- <span class='comment'>#=&gt; 12.0
311
- </span></code></pre>
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>
312
317
 
313
318
 
314
319
  </div>
315
320
  </div>
316
321
  <div class="tags">
317
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
+
318
344
 
319
345
  </div><table class="source_code">
320
346
  <tr>
@@ -322,16 +348,16 @@ conversion method.</p>
322
348
  <pre class="lines">
323
349
 
324
350
 
351
+ 16
325
352
  17
326
353
  18
327
354
  19
328
- 20
329
- 21</pre>
355
+ 20</pre>
330
356
  </td>
331
357
  <td>
332
- <pre class="code"><span class="info file"># File 'lib/shenanigans/kernel/prompt.rb', line 17</span>
358
+ <pre class="code"><span class="info file"># File 'lib/shenanigans/kernel/prompt.rb', line 16</span>
333
359
 
334
- <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'>&#39;</span><span class='tstring_end'>&#39;</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>
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>
335
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>
336
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>
337
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>
@@ -353,23 +379,34 @@ conversion method.</p>
353
379
  </h3><div class="docstring">
354
380
  <div class="discussion">
355
381
 
356
- <p>Optionally require a gem. If it is not available, <code>nil</code> will be
357
- returned. Alternatively, a block can be provided with code to run.</p>
358
-
359
- <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>non_existent</span><span class='tstring_end'>&#39;</span></span>
360
- <span class='comment'>#=&gt; nil
361
- </span>
362
- <span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>non_existent</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>do</span>
363
- <span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Something went wrong</span><span class='tstring_end'>&#39;</span></span>
364
- <span class='kw'>end</span>
365
- <span class='comment'>#=&gt; Outputs &#39;Something went wrong&#39;
366
- </span></code></pre>
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>
367
383
 
368
384
 
369
385
  </div>
370
386
  </div>
371
387
  <div class="tags">
372
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
+
373
410
 
374
411
  </div><table class="source_code">
375
412
  <tr>
@@ -389,7 +426,7 @@ returned. Alternatively, a block can be provided with code to run.</p>
389
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>
390
427
  <span class='id identifier rubyid_require'>require</span> <span class='id identifier rubyid_gem'>gem</span>
391
428
  <span class='kw'>rescue</span> <span class='const'>LoadError</span>
392
- <span class='id identifier rubyid_block'>block</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span> <span class='kw'>if</span> <span class='id identifier rubyid_block'>block</span>
429
+ <span class='id identifier rubyid_block'>block</span><span class='op'>&amp;.</span><span class='id identifier rubyid_call'>call</span>
393
430
  <span class='kw'>end</span></pre>
394
431
  </td>
395
432
  </tr>
@@ -408,21 +445,24 @@ returned. Alternatively, a block can be provided with code to run.</p>
408
445
  </h3><div class="docstring">
409
446
  <div class="discussion">
410
447
 
411
- <p>A Pascal/ActionScript like <code>with</code> method. Yields its argument to
412
- the provided block and then returns it.</p>
413
-
414
- <pre class="code ruby"><code class="ruby"><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>
415
- <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>
416
- <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>
417
- <span class='kw'>end</span>
418
- <span class='comment'>#=&gt; [&quot;a&quot;, &quot;b&quot;]
419
- </span></code></pre>
448
+ <p>A Pascal/ActionScript like <code>with</code> method. Yields its argument to the provided block and then returns it.</p>
420
449
 
421
450
 
422
451
  </div>
423
452
  </div>
424
453
  <div class="tags">
425
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
+
426
466
 
427
467
  </div><table class="source_code">
428
468
  <tr>
@@ -430,12 +470,12 @@ the provided block and then returns it.</p>
430
470
  <pre class="lines">
431
471
 
432
472
 
433
- 9
434
473
  10
435
- 11</pre>
474
+ 11
475
+ 12</pre>
436
476
  </td>
437
477
  <td>
438
- <pre class="code"><span class="info file"># File 'lib/shenanigans/kernel/with.rb', line 9</span>
478
+ <pre class="code"><span class="info file"># File 'lib/shenanigans/kernel/with.rb', line 10</span>
439
479
 
440
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>
441
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>
@@ -450,9 +490,9 @@ the provided block and then returns it.</p>
450
490
  </div>
451
491
 
452
492
  <div id="footer">
453
- Generated on Thu Feb 1 16:36:54 2018 by
493
+ Generated on Tue May 5 19:54:28 2020 by
454
494
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
455
- 0.9.12 (ruby-2.5.0).
495
+ 0.9.24 (ruby-2.7.1).
456
496
  </div>
457
497
 
458
498
  </div>