shenanigans 1.0.9 → 1.0.10

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 (67) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +6 -3
  3. data/README.rdoc +1 -1
  4. data/doc/Array.html +423 -202
  5. data/doc/Fixnum.html +155 -140
  6. data/doc/Hash.html +305 -206
  7. data/doc/Kernel.html +360 -249
  8. data/doc/Module.html +181 -153
  9. data/doc/Object.html +210 -201
  10. data/doc/String.html +166 -139
  11. data/doc/_index.html +188 -0
  12. data/doc/class_list.html +54 -0
  13. data/doc/css/common.css +1 -0
  14. data/doc/css/full_list.css +57 -0
  15. data/doc/css/style.css +338 -0
  16. data/doc/file.README.html +162 -0
  17. data/doc/file_list.html +56 -0
  18. data/doc/frames.html +26 -0
  19. data/doc/index.html +62 -80
  20. data/doc/js/app.js +219 -0
  21. data/doc/js/full_list.js +178 -0
  22. data/doc/js/jquery.js +4 -18
  23. data/doc/method_list.html +149 -0
  24. data/doc/top-level-namespace.html +114 -0
  25. data/lib/shenanigans.rb +3 -1
  26. data/lib/shenanigans/array.rb +3 -3
  27. data/lib/shenanigans/array/reductions.rb +29 -0
  28. data/lib/shenanigans/kernel.rb +4 -4
  29. data/lib/shenanigans/module.rb +1 -1
  30. data/lib/shenanigans/object.rb +2 -2
  31. data/lib/shenanigans/string.rb +1 -1
  32. data/test/array/test_reductions.rb +27 -0
  33. metadata +16 -36
  34. data/doc/README_rdoc.html +0 -199
  35. data/doc/created.rid +0 -25
  36. data/doc/images/add.png +0 -0
  37. data/doc/images/arrow_up.png +0 -0
  38. data/doc/images/brick.png +0 -0
  39. data/doc/images/brick_link.png +0 -0
  40. data/doc/images/bug.png +0 -0
  41. data/doc/images/bullet_black.png +0 -0
  42. data/doc/images/bullet_toggle_minus.png +0 -0
  43. data/doc/images/bullet_toggle_plus.png +0 -0
  44. data/doc/images/date.png +0 -0
  45. data/doc/images/delete.png +0 -0
  46. data/doc/images/find.png +0 -0
  47. data/doc/images/loadingAnimation.gif +0 -0
  48. data/doc/images/macFFBgHack.png +0 -0
  49. data/doc/images/package.png +0 -0
  50. data/doc/images/page_green.png +0 -0
  51. data/doc/images/page_white_text.png +0 -0
  52. data/doc/images/page_white_width.png +0 -0
  53. data/doc/images/plugin.png +0 -0
  54. data/doc/images/ruby.png +0 -0
  55. data/doc/images/tag_blue.png +0 -0
  56. data/doc/images/tag_green.png +0 -0
  57. data/doc/images/transparent.png +0 -0
  58. data/doc/images/wrench.png +0 -0
  59. data/doc/images/wrench_orange.png +0 -0
  60. data/doc/images/zoom.png +0 -0
  61. data/doc/js/darkfish.js +0 -155
  62. data/doc/js/navigation.js +0 -142
  63. data/doc/js/search.js +0 -94
  64. data/doc/js/search_index.js +0 -1
  65. data/doc/js/searcher.js +0 -228
  66. data/doc/rdoc.css +0 -595
  67. data/doc/table_of_contents.html +0 -114
data/doc/Kernel.html CHANGED
@@ -1,178 +1,249 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Module: Kernel
8
+
9
+ &mdash; Documentation by YARD 0.8.7.3
10
+
11
+ </title>
6
12
 
7
- <title>module Kernel - Shenanigans</title>
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
8
14
 
9
- <link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
10
16
 
11
- <script type="text/javascript">
12
- var rdoc_rel_prefix = "./";
17
+ <script type="text/javascript" charset="utf-8">
18
+ hasFrames = window.top.frames.main ? true : false;
19
+ relpath = '';
20
+ framesUrl = "frames.html#!" + escape(window.location.href);
13
21
  </script>
14
22
 
15
- <script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
16
- <script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
17
- <script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
18
- <script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
19
- <script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
20
- <script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
21
23
 
24
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
22
25
 
23
- <body id="top" class="module">
24
- <nav id="metadata">
25
- <nav id="home-section" class="section">
26
- <h3 class="section-header">
27
- <a href="./index.html">Home</a>
28
- <a href="./table_of_contents.html#classes">Classes</a>
29
- <a href="./table_of_contents.html#methods">Methods</a>
30
- </h3>
31
- </nav>
26
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
32
27
 
33
28
 
34
- <nav id="search-section" class="section project-section" class="initially-hidden">
35
- <form action="#" method="get" accept-charset="utf-8">
36
- <h3 class="section-header">
37
- <input type="text" name="search" placeholder="Search" id="search-field"
38
- title="Type to search, Up and Down to navigate, Enter to load">
39
- </h3>
40
- </form>
41
-
42
- <ul id="search-results" class="initially-hidden"></ul>
43
- </nav>
29
+ </head>
30
+ <body>
31
+ <div id="header">
32
+ <div id="menu">
33
+
34
+ <a href="_index.html">Index (K)</a> &raquo;
35
+
36
+
37
+ <span class="title">Kernel</span>
38
+
44
39
 
40
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
+ </div>
45
42
 
43
+ <div id="search">
44
+
45
+ <a class="full_list_link" id="class_list_link"
46
+ href="class_list.html">
47
+ Class List
48
+ </a>
46
49
 
50
+ <a class="full_list_link" id="method_list_link"
51
+ href="method_list.html">
52
+ Method List
53
+ </a>
54
+
55
+ <a class="full_list_link" id="file_list_link"
56
+ href="file_list.html">
57
+ File List
58
+ </a>
59
+
60
+ </div>
61
+ <div class="clear"></div>
62
+ </div>
47
63
 
48
- <div id="file-metadata">
49
- <nav id="file-list-section" class="section">
50
- <h3 class="section-header">Defined In</h3>
51
- <ul>
52
- <li>lib/shenanigans/kernel/fn.rb
53
- <li>lib/shenanigans/kernel/prompt.rb
54
- <li>lib/shenanigans/kernel/require_optional.rb
55
- <li>lib/shenanigans/kernel/with.rb
56
- </ul>
57
- </nav>
64
+ <iframe id="search_frame"></iframe>
58
65
 
59
-
60
- </div>
66
+ <div id="content"><h1>Module: Kernel
67
+
68
+
69
+
70
+ </h1>
61
71
 
62
- <div id="class-metadata">
63
-
64
-
72
+ <dl class="box">
73
+
74
+
65
75
 
76
+
66
77
 
67
- <!-- Method Quickref -->
68
- <nav id="method-list-section" class="section">
69
- <h3 class="section-header">Methods</h3>
78
+
79
+
80
+
81
+ <dt class="r1 last">Defined in:</dt>
82
+ <dd class="r1 last">lib/shenanigans/kernel/fn.rb<span class="defines">,<br />
83
+ lib/shenanigans/kernel/with.rb,<br /> lib/shenanigans/kernel/prompt.rb,<br /> lib/shenanigans/kernel/require_optional.rb</span>
84
+ </dd>
85
+
86
+ </dl>
87
+ <div class="clear"></div>
70
88
 
71
- <ul class="link-list">
72
-
73
- <li ><a href="#method-i-fn">#fn</a>
74
-
75
- <li ><a href="#method-i-prompt">#prompt</a>
76
-
77
- <li ><a href="#method-i-require_optional">#require_optional</a>
78
-
79
- <li ><a href="#method-i-with">#with</a>
89
+
90
+ <h2>Constant Summary</h2>
91
+
92
+ <dl class="constants">
93
+
94
+ <dt id="CONVERSIONS-constant" class="">CONVERSIONS =
95
+ <div class="docstring">
96
+ <div class="discussion">
80
97
 
81
- </ul>
82
- </nav>
98
+ <p>Currently only used by <code>prompt</code>: <code>:to_i</code>,
99
+ <code>:to_f</code>, <code>:to_r</code>, <code>:to_sym</code>,
100
+ <code>:to_c</code></p>
83
101
 
84
- </div>
85
102
 
86
- <div id="project-metadata">
87
- <nav id="fileindex-section" class="section project-section">
88
- <h3 class="section-header">Pages</h3>
103
+ </div>
104
+ </div>
105
+ <div class="tags">
106
+
89
107
 
90
- <ul>
108
+ </div>
109
+ </dt>
110
+ <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>
111
+
112
+ </dl>
91
113
 
92
- <li class="file"><a href="./README_rdoc.html">README</a>
114
+
115
+
116
+
117
+
118
+
119
+
120
+
93
121
 
94
- </ul>
95
- </nav>
122
+ <h2>
123
+ Instance Method Summary
124
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
125
+ </h2>
96
126
 
97
- <nav id="classindex-section" class="section project-section">
98
- <h3 class="section-header">Class and Module Index</h3>
127
+ <ul class="summary">
128
+
129
+ <li class="private ">
130
+ <span class="summary_signature">
131
+
132
+ <a href="#fn-instance_method" title="#fn (instance method)">- (Object) <strong>fn</strong>(*funs) </a>
133
+
99
134
 
100
- <ul class="link-list">
135
+
136
+ </span>
101
137
 
102
- <li><a href="./Array.html">Array</a>
103
138
 
104
- <li><a href="./Fixnum.html">Fixnum</a>
105
139
 
106
- <li><a href="./Hash.html">Hash</a>
140
+ <span class="note title private">private</span>
107
141
 
108
- <li><a href="./Kernel.html">Kernel</a>
109
142
 
110
- <li><a href="./Module.html">Module</a>
111
143
 
112
- <li><a href="./Object.html">Object</a>
144
+
113
145
 
114
- <li><a href="./String.html">String</a>
146
+ <span class="summary_desc"><div class='inline'>
147
+ <p>Composes a list of functions.</p>
148
+ </div></span>
115
149
 
116
- </ul>
117
- </nav>
118
-
119
- </div>
120
- </nav>
150
+ </li>
121
151
 
122
- <div id="documentation">
123
- <h1 class="module">module Kernel</h1>
124
-
125
- <div id="description" class="description">
152
+
153
+ <li class="private ">
154
+ <span class="summary_signature">
155
+
156
+ <a href="#prompt-instance_method" title="#prompt (instance method)">- (Object) <strong>prompt</strong>(text = &#39;&#39;, conversion = nil) </a>
126
157
 
127
- </div><!-- description -->
128
158
 
159
+
160
+ </span>
161
+
162
+
163
+
164
+ <span class="note title private">private</span>
129
165
 
130
166
 
131
167
 
132
- <section id="5Buntitled-5D" class="documentation-section">
133
-
134
168
 
169
+
170
+ <span class="summary_desc"><div class='inline'>
171
+ <p>Displays a prompt and returns chomped input.</p>
172
+ </div></span>
173
+
174
+ </li>
175
+
176
+
177
+ <li class="private ">
178
+ <span class="summary_signature">
179
+
180
+ <a href="#require_optional-instance_method" title="#require_optional (instance method)">- (Object) <strong>require_optional</strong>(gem, &amp;block) </a>
135
181
 
136
182
 
137
183
 
138
- <!-- Constants -->
139
- <section id="constants-list" class="section">
140
- <h3 class="section-header">Constants</h3>
141
- <dl>
142
-
143
- <dt id="CONVERSIONS">CONVERSIONS
144
-
145
- <dd class="description"><p>Currently only used by <code>prompt</code>: <code>:to_i</code>,
146
- <code>:to_f</code>, <code>:to_r</code>, <code>:to_sym</code>,
147
- <code>:to_c</code></p>
148
-
184
+ </span>
185
+
186
+
187
+
188
+ <span class="note title private">private</span>
189
+
190
+
191
+
192
+
193
+
194
+ <span class="summary_desc"><div class='inline'>
195
+ <p>Optionally require a gem.</p>
196
+ </div></span>
197
+
198
+ </li>
199
+
149
200
 
150
- </dl>
151
- </section>
201
+ <li class="private ">
202
+ <span class="summary_signature">
203
+
204
+ <a href="#with-instance_method" title="#with (instance method)">- (Object) <strong>with</strong>(o, &amp;blk) </a>
152
205
 
153
206
 
154
207
 
208
+ </span>
209
+
210
+
211
+
212
+ <span class="note title private">private</span>
213
+
214
+
215
+
216
+
217
+
218
+ <span class="summary_desc"><div class='inline'>
219
+ <p>A Pascal/ActionScript like with method.</p>
220
+ </div></span>
221
+
222
+ </li>
223
+
224
+
225
+ </ul>
226
+
227
+
228
+
229
+
230
+ <div id="instance_method_details" class="method_details_list">
231
+ <h2>Instance Method Details</h2>
155
232
 
156
- <!-- Methods -->
157
233
 
158
- <section id="private-instance-5Buntitled-5D-method-details" class="method-section section">
159
- <h3 class="section-header">Private Instance Methods</h3>
234
+ <div class="method_details first">
235
+ <h3 class="signature first" id="fn-instance_method">
236
+
237
+ - (<tt><span class='object_link'><a href="Object.html" title="Object (class)">Object</a></span></tt>) <strong>fn</strong>(*funs) <span class="extras">(private)</span>
238
+
160
239
 
240
+
241
+
242
+
243
+ </h3><div class="docstring">
244
+ <div class="discussion">
161
245
 
162
- <div id="method-i-fn" class="method-detail ">
163
-
164
- <div class="method-heading">
165
- <span class="method-name">fn</span><span
166
- class="method-args">(*funs)</span>
167
-
168
- <span class="method-click-advice">click to toggle source</span>
169
-
170
- </div>
171
-
172
-
173
- <div class="method-description">
174
-
175
- <p>Composes a list of functions. Functions can be specified as symbols or
246
+ <p>Composes a list of functions. Functions can be specified as symbols or
176
247
  lambdas.</p>
177
248
 
178
249
  <pre class="ruby">[<span class="ruby-string">&quot;foo bar&quot;</span>, <span class="ruby-string">&quot;baz qux&quot;</span>].<span class="ruby-identifier">map</span> <span class="ruby-operator">&amp;</span><span class="ruby-identifier">fn</span>(:<span class="ruby-identifier">split</span>, :<span class="ruby-identifier">last</span>)
@@ -181,43 +252,55 @@ lambdas.</p>
181
252
  (<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">3</span>).<span class="ruby-identifier">map</span> <span class="ruby-operator">&amp;</span><span class="ruby-identifier">fn</span>(:<span class="ruby-keyword">next</span>, <span class="ruby-operator">-</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">x</span> { <span class="ruby-identifier">x</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">x</span> }, <span class="ruby-operator">-</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">x</span> { <span class="ruby-identifier">x</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span> } )
182
253
  <span class="ruby-comment">#=&gt; [2.0, 4.5, 8.0]</span>
183
254
  </pre>
184
-
185
-
186
-
187
-
188
- <div class="method-source-code" id="fn-source">
189
- <pre><span class="ruby-comment"># File lib/shenanigans/kernel/fn.rb, line 9</span>
190
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">fn</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">funs</span>)
191
- <span class="ruby-operator">-</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">x</span> <span class="ruby-keyword">do</span>
192
- <span class="ruby-identifier">funs</span>.<span class="ruby-identifier">inject</span>(<span class="ruby-identifier">x</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span>,<span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
193
- <span class="ruby-constant">Proc</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">f</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">v</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">f</span>)
194
- <span class="ruby-keyword">end</span>
195
- <span class="ruby-keyword">end</span>
196
- <span class="ruby-keyword">end</span></pre>
197
- </div><!-- fn-source -->
198
-
199
- </div>
200
-
201
-
202
-
203
-
204
- </div><!-- fn-method -->
205
255
 
256
+
257
+ </div>
258
+ </div>
259
+ <div class="tags">
260
+
261
+
262
+ </div><table class="source_code">
263
+ <tr>
264
+ <td>
265
+ <pre class="lines">
266
+
267
+
268
+ 9
269
+ 10
270
+ 11
271
+ 12
272
+ 13
273
+ 14
274
+ 15</pre>
275
+ </td>
276
+ <td>
277
+ <pre class="code"><span class="info file"># File 'lib/shenanigans/kernel/fn.rb', line 9</span>
278
+
279
+ <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>
280
+ <span class='tlambda'>-&gt;</span> <span class='id identifier rubyid_x'>x</span> <span class='kw'>do</span>
281
+ <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>
282
+ <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>
283
+ <span class='kw'>end</span>
284
+ <span class='kw'>end</span>
285
+ <span class='kw'>end</span></pre>
286
+ </td>
287
+ </tr>
288
+ </table>
289
+ </div>
206
290
 
207
- <div id="method-i-prompt" class="method-detail ">
208
-
209
- <div class="method-heading">
210
- <span class="method-name">prompt</span><span
211
- class="method-args">(text='', conversion=nil)</span>
212
-
213
- <span class="method-click-advice">click to toggle source</span>
214
-
215
- </div>
216
-
217
-
218
- <div class="method-description">
219
-
220
- <p>Displays a prompt and returns chomped input. Modelled after the Python
291
+ <div class="method_details ">
292
+ <h3 class="signature " id="prompt-instance_method">
293
+
294
+ - (<tt><span class='object_link'><a href="Object.html" title="Object (class)">Object</a></span></tt>) <strong>prompt</strong>(text = &#39;&#39;, conversion = nil) <span class="extras">(private)</span>
295
+
296
+
297
+
298
+
299
+
300
+ </h3><div class="docstring">
301
+ <div class="discussion">
302
+
303
+ <p>Displays a prompt and returns chomped input. Modelled after the Python
221
304
  method <code>raw_input</code>, but also can be supplied with an optional
222
305
  conversion method.</p>
223
306
 
@@ -229,41 +312,51 @@ conversion method.</p>
229
312
  <span class="ruby-constant">Prompt</span><span class="ruby-operator">&gt;</span> <span class="ruby-value">12</span>
230
313
  <span class="ruby-comment">#=&gt; 12.0</span>
231
314
  </pre>
232
-
233
-
234
-
235
-
236
- <div class="method-source-code" id="prompt-source">
237
- <pre><span class="ruby-comment"># File lib/shenanigans/kernel/prompt.rb, line 17</span>
238
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">prompt</span>(<span class="ruby-identifier">text</span>=<span class="ruby-string">&#39;&#39;</span>, <span class="ruby-identifier">conversion</span>=<span class="ruby-keyword">nil</span>)
239
- <span class="ruby-identifier">print</span> <span class="ruby-identifier">text</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">text</span>.<span class="ruby-identifier">empty?</span>
240
- <span class="ruby-identifier">input</span> = <span class="ruby-identifier">gets</span>.<span class="ruby-identifier">chomp</span>
241
- <span class="ruby-constant">CONVERSIONS</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">conversion</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">input</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">conversion</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">input</span>
242
- <span class="ruby-keyword">end</span></pre>
243
- </div><!-- prompt-source -->
244
-
245
- </div>
246
-
247
-
248
-
249
-
250
- </div><!-- prompt-method -->
251
315
 
316
+
317
+ </div>
318
+ </div>
319
+ <div class="tags">
320
+
321
+
322
+ </div><table class="source_code">
323
+ <tr>
324
+ <td>
325
+ <pre class="lines">
326
+
327
+
328
+ 17
329
+ 18
330
+ 19
331
+ 20
332
+ 21</pre>
333
+ </td>
334
+ <td>
335
+ <pre class="code"><span class="info file"># File 'lib/shenanigans/kernel/prompt.rb', line 17</span>
336
+
337
+ <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>
338
+ <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>
339
+ <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>
340
+ <span class='const'>CONVERSIONS</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>
341
+ <span class='kw'>end</span></pre>
342
+ </td>
343
+ </tr>
344
+ </table>
345
+ </div>
346
+
347
+ <div class="method_details ">
348
+ <h3 class="signature " id="require_optional-instance_method">
349
+
350
+ - (<tt><span class='object_link'><a href="Object.html" title="Object (class)">Object</a></span></tt>) <strong>require_optional</strong>(gem, &amp;block) <span class="extras">(private)</span>
351
+
352
+
353
+
354
+
355
+
356
+ </h3><div class="docstring">
357
+ <div class="discussion">
252
358
 
253
- <div id="method-i-require_optional" class="method-detail ">
254
-
255
- <div class="method-heading">
256
- <span class="method-name">require_optional</span><span
257
- class="method-args">(gem, &block)</span>
258
-
259
- <span class="method-click-advice">click to toggle source</span>
260
-
261
- </div>
262
-
263
-
264
- <div class="method-description">
265
-
266
- <p>Optionally require a gem. If it is not available, <code>nil</code> will be
359
+ <p>Optionally require a gem. If it is not available, <code>nil</code> will be
267
360
  returned. Alternatively, a block can be provided with code to run.</p>
268
361
 
269
362
  <pre class="ruby"><span class="ruby-identifier">require</span> <span class="ruby-string">&#39;non_existent&#39;</span>
@@ -274,41 +367,51 @@ returned. Alternatively, a block can be provided with code to run.</p>
274
367
  <span class="ruby-keyword">end</span>
275
368
  <span class="ruby-comment">#=&gt; Outputs &#39;Something went wrong&#39;</span>
276
369
  </pre>
277
-
278
-
279
-
280
-
281
- <div class="method-source-code" id="require_optional-source">
282
- <pre><span class="ruby-comment"># File lib/shenanigans/kernel/require_optional.rb, line 12</span>
283
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">require_optional</span>(<span class="ruby-identifier">gem</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
284
- <span class="ruby-identifier">require</span> <span class="ruby-identifier">gem</span>
285
- <span class="ruby-keyword">rescue</span> <span class="ruby-constant">LoadError</span>
286
- <span class="ruby-identifier">block</span>.<span class="ruby-identifier">call</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">block</span>
287
- <span class="ruby-keyword">end</span></pre>
288
- </div><!-- require_optional-source -->
289
-
290
- </div>
291
-
292
-
293
-
294
-
295
- </div><!-- require_optional-method -->
296
370
 
371
+
372
+ </div>
373
+ </div>
374
+ <div class="tags">
375
+
376
+
377
+ </div><table class="source_code">
378
+ <tr>
379
+ <td>
380
+ <pre class="lines">
381
+
382
+
383
+ 12
384
+ 13
385
+ 14
386
+ 15
387
+ 16</pre>
388
+ </td>
389
+ <td>
390
+ <pre class="code"><span class="info file"># File 'lib/shenanigans/kernel/require_optional.rb', line 12</span>
391
+
392
+ <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>
393
+ <span class='id identifier rubyid_require'>require</span> <span class='id identifier rubyid_gem'>gem</span>
394
+ <span class='kw'>rescue</span> <span class='const'>LoadError</span>
395
+ <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>
396
+ <span class='kw'>end</span></pre>
397
+ </td>
398
+ </tr>
399
+ </table>
400
+ </div>
297
401
 
298
- <div id="method-i-with" class="method-detail ">
299
-
300
- <div class="method-heading">
301
- <span class="method-name">with</span><span
302
- class="method-args">(o, &blk)</span>
303
-
304
- <span class="method-click-advice">click to toggle source</span>
305
-
306
- </div>
307
-
308
-
309
- <div class="method-description">
310
-
311
- <p>A Pascal/ActionScript like <code>with</code> method. Yields its argument to
402
+ <div class="method_details ">
403
+ <h3 class="signature " id="with-instance_method">
404
+
405
+ - (<tt><span class='object_link'><a href="Object.html" title="Object (class)">Object</a></span></tt>) <strong>with</strong>(o, &amp;blk) <span class="extras">(private)</span>
406
+
407
+
408
+
409
+
410
+
411
+ </h3><div class="docstring">
412
+ <div class="discussion">
413
+
414
+ <p>A Pascal/ActionScript like <code>with</code> method. Yields its argument to
312
415
  the provided block and then returns it.</p>
313
416
 
314
417
  <pre class="ruby"><span class="ruby-identifier">with</span>([]) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span>
@@ -317,35 +420,43 @@ the provided block and then returns it.</p>
317
420
  <span class="ruby-keyword">end</span>
318
421
  <span class="ruby-comment">#=&gt; [&quot;a&quot;, &quot;b&quot;]</span>
319
422
  </pre>
320
-
321
-
322
-
323
-
324
- <div class="method-source-code" id="with-source">
325
- <pre><span class="ruby-comment"># File lib/shenanigans/kernel/with.rb, line 9</span>
326
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">with</span>(<span class="ruby-identifier">o</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
327
- <span class="ruby-identifier">o</span>.<span class="ruby-identifier">tap</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
328
- <span class="ruby-keyword">end</span></pre>
329
- </div><!-- with-source -->
330
-
331
- </div>
332
-
333
-
334
423
 
335
-
336
- </div><!-- with-method -->
337
424
 
338
-
339
- </section><!-- private-instance-method-details -->
425
+ </div>
426
+ </div>
427
+ <div class="tags">
340
428
 
341
- </section><!-- 5Buntitled-5D -->
342
429
 
343
- </div><!-- documentation -->
430
+ </div><table class="source_code">
431
+ <tr>
432
+ <td>
433
+ <pre class="lines">
434
+
435
+
436
+ 9
437
+ 10
438
+ 11</pre>
439
+ </td>
440
+ <td>
441
+ <pre class="code"><span class="info file"># File 'lib/shenanigans/kernel/with.rb', line 9</span>
442
+
443
+ <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>
444
+ <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>
445
+ <span class='kw'>end</span></pre>
446
+ </td>
447
+ </tr>
448
+ </table>
449
+ </div>
450
+
451
+ </div>
344
452
 
453
+ </div>
345
454
 
346
- <footer id="validator-badges">
347
- <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
348
- <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 4.0.0.
349
- <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
350
- </footer>
455
+ <div id="footer">
456
+ Generated on Tue Dec 31 15:41:29 2013 by
457
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
458
+ 0.8.7.3 (ruby-2.0.0).
459
+ </div>
351
460
 
461
+ </body>
462
+ </html>