shenanigans 1.0.13 → 1.0.14

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 (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>