bovem 1.2.6 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. data/.travis.yml +1 -1
  2. data/Gemfile +1 -1
  3. data/README.md +5 -2
  4. data/bovem.gemspec +11 -9
  5. data/doc/Bovem.html +7 -25
  6. data/doc/Bovem/Configuration.html +30 -43
  7. data/doc/Bovem/Console.html +225 -4360
  8. data/doc/Bovem/ConsoleMethods.html +125 -0
  9. data/doc/Bovem/ConsoleMethods/Interactions.html +575 -0
  10. data/doc/Bovem/ConsoleMethods/Interactions/ClassMethods.html +231 -0
  11. data/doc/Bovem/ConsoleMethods/Logging.html +2218 -0
  12. data/doc/Bovem/ConsoleMethods/Logging/ClassMethods.html +212 -0
  13. data/doc/Bovem/ConsoleMethods/Output.html +1213 -0
  14. data/doc/Bovem/ConsoleMethods/StyleHandling.html +274 -0
  15. data/doc/Bovem/ConsoleMethods/StyleHandling/ClassMethods.html +653 -0
  16. data/doc/Bovem/Errors.html +3 -3
  17. data/doc/Bovem/Errors/InvalidConfiguration.html +3 -3
  18. data/doc/Bovem/Errors/InvalidLogger.html +3 -3
  19. data/doc/Bovem/Logger.html +112 -12
  20. data/doc/Bovem/Shell.html +58 -1888
  21. data/doc/Bovem/ShellMethods.html +125 -0
  22. data/doc/Bovem/ShellMethods/Directories.html +484 -0
  23. data/doc/Bovem/ShellMethods/Execute.html +565 -0
  24. data/doc/Bovem/ShellMethods/General.html +450 -0
  25. data/doc/Bovem/ShellMethods/Read.html +451 -0
  26. data/doc/Bovem/ShellMethods/Write.html +676 -0
  27. data/doc/Bovem/Version.html +6 -6
  28. data/doc/_index.html +145 -4
  29. data/doc/class_list.html +1 -1
  30. data/doc/file.README.html +10 -7
  31. data/doc/frames.html +1 -1
  32. data/doc/index.html +10 -7
  33. data/doc/method_list.html +119 -79
  34. data/doc/top-level-namespace.html +3 -3
  35. data/lib/bovem.rb +1 -1
  36. data/lib/bovem/configuration.rb +24 -13
  37. data/lib/bovem/console.rb +566 -497
  38. data/lib/bovem/errors.rb +1 -1
  39. data/lib/bovem/logger.rb +4 -4
  40. data/lib/bovem/shell.rb +482 -305
  41. data/lib/bovem/version.rb +4 -4
  42. data/locales/en.yml +43 -0
  43. data/locales/it.yml +43 -0
  44. data/spec/bovem/configuration_spec.rb +3 -3
  45. data/spec/bovem/console_spec.rb +17 -10
  46. data/spec/bovem/logger_spec.rb +1 -1
  47. data/spec/bovem/shell_spec.rb +9 -5
  48. data/spec/coverage_helper.rb +1 -1
  49. data/spec/spec_helper.rb +1 -1
  50. metadata +32 -22
@@ -0,0 +1,212 @@
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: Bovem::ConsoleMethods::Logging::ClassMethods
8
+
9
+ &mdash; Documentation by YARD 0.8.3
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../../../css/style.css" type="text/css" media="screen" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../../../css/common.css" type="text/css" media="screen" charset="utf-8" />
16
+
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);
21
+ </script>
22
+
23
+
24
+ <script type="text/javascript" charset="utf-8" src="../../../js/jquery.js"></script>
25
+
26
+ <script type="text/javascript" charset="utf-8" src="../../../js/app.js"></script>
27
+
28
+
29
+ </head>
30
+ <body>
31
+ <div id="header">
32
+ <div id="menu">
33
+
34
+ <a href="../../../_index.html">Index (C)</a> &raquo;
35
+ <span class='title'><span class='object_link'><a href="../../../Bovem.html" title="Bovem (module)">Bovem</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../../ConsoleMethods.html" title="Bovem::ConsoleMethods (module)">ConsoleMethods</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Logging.html" title="Bovem::ConsoleMethods::Logging (module)">Logging</a></span></span>
36
+ &raquo;
37
+ <span class="title">ClassMethods</span>
38
+
39
+
40
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
+ </div>
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>
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>
63
+
64
+ <iframe id="search_frame"></iframe>
65
+
66
+ <div id="content"><h1>Module: Bovem::ConsoleMethods::Logging::ClassMethods
67
+
68
+
69
+
70
+ </h1>
71
+
72
+ <dl class="box">
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+ <dt class="r1 last">Defined in:</dt>
82
+ <dd class="r1 last">lib/bovem/console.rb</dd>
83
+
84
+ </dl>
85
+ <div class="clear"></div>
86
+
87
+ <h2>Overview</h2><div class="docstring">
88
+ <div class="discussion">
89
+ <p>Class methods for logging activities to the user.</p>
90
+
91
+
92
+ </div>
93
+ </div>
94
+ <div class="tags">
95
+
96
+
97
+ </div>
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+ <h2>
106
+ Instance Method Summary
107
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
108
+ </h2>
109
+
110
+ <ul class="summary">
111
+
112
+ <li class="public ">
113
+ <span class="summary_signature">
114
+
115
+ <a href="#min_banner_length-instance_method" title="#min_banner_length (instance method)">- (Fixnum) <strong>min_banner_length</strong> </a>
116
+
117
+
118
+
119
+ </span>
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+ <span class="summary_desc"><div class='inline'><p>Returns the minimum length of a banner, not including brackets and leading spaces.</p>
130
+ </div></span>
131
+
132
+ </li>
133
+
134
+
135
+ </ul>
136
+
137
+
138
+
139
+
140
+ <div id="instance_method_details" class="method_details_list">
141
+ <h2>Instance Method Details</h2>
142
+
143
+
144
+ <div class="method_details first">
145
+ <h3 class="signature first" id="min_banner_length-instance_method">
146
+
147
+ - (<tt>Fixnum</tt>) <strong>min_banner_length</strong>
148
+
149
+
150
+
151
+
152
+
153
+ </h3><div class="docstring">
154
+ <div class="discussion">
155
+ <p>Returns the minimum length of a banner, not including brackets and leading spaces.</p>
156
+
157
+
158
+ </div>
159
+ </div>
160
+ <div class="tags">
161
+
162
+ <p class="tag_title">Returns:</p>
163
+ <ul class="return">
164
+
165
+ <li>
166
+
167
+
168
+ <span class='type'>(<tt>Fixnum</tt>)</span>
169
+
170
+
171
+
172
+ &mdash;
173
+ <div class='inline'><p>The minimum length of a banner.</p>
174
+ </div>
175
+
176
+ </li>
177
+
178
+ </ul>
179
+
180
+ </div><table class="source_code">
181
+ <tr>
182
+ <td>
183
+ <pre class="lines">
184
+
185
+
186
+ 256
187
+ 257
188
+ 258</pre>
189
+ </td>
190
+ <td>
191
+ <pre class="code"><span class="info file"># File 'lib/bovem/console.rb', line 256</span>
192
+
193
+ <span class='kw'>def</span> <span class='id identifier rubyid_min_banner_length'>min_banner_length</span>
194
+ <span class='int'>1</span>
195
+ <span class='kw'>end</span></pre>
196
+ </td>
197
+ </tr>
198
+ </table>
199
+ </div>
200
+
201
+ </div>
202
+
203
+ </div>
204
+
205
+ <div id="footer">
206
+ Generated on Fri Feb 1 23:40:18 2013 by
207
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
208
+ 0.8.3 (ruby-1.9.3).
209
+ </div>
210
+
211
+ </body>
212
+ </html>
@@ -0,0 +1,1213 @@
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: Bovem::ConsoleMethods::Output
8
+
9
+ &mdash; Documentation by YARD 0.8.3
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
16
+
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);
21
+ </script>
22
+
23
+
24
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
25
+
26
+ <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
27
+
28
+
29
+ </head>
30
+ <body>
31
+ <div id="header">
32
+ <div id="menu">
33
+
34
+ <a href="../../_index.html">Index (O)</a> &raquo;
35
+ <span class='title'><span class='object_link'><a href="../../Bovem.html" title="Bovem (module)">Bovem</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../ConsoleMethods.html" title="Bovem::ConsoleMethods (module)">ConsoleMethods</a></span></span>
36
+ &raquo;
37
+ <span class="title">Output</span>
38
+
39
+
40
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
+ </div>
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>
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>
63
+
64
+ <iframe id="search_frame"></iframe>
65
+
66
+ <div id="content"><h1>Module: Bovem::ConsoleMethods::Output
67
+
68
+
69
+
70
+ </h1>
71
+
72
+ <dl class="box">
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+ <dt class="r1">Included in:</dt>
81
+ <dd class="r1"><span class='object_link'><a href="../Console.html" title="Bovem::Console (class)">Bovem::Console</a></span></dd>
82
+
83
+
84
+
85
+ <dt class="r2 last">Defined in:</dt>
86
+ <dd class="r2 last">lib/bovem/console.rb</dd>
87
+
88
+ </dl>
89
+ <div class="clear"></div>
90
+
91
+ <h2>Overview</h2><div class="docstring">
92
+ <div class="discussion">
93
+ <p>Methods for formatting output messages.</p>
94
+
95
+
96
+ </div>
97
+ </div>
98
+ <div class="tags">
99
+
100
+
101
+ </div>
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+ <h2>
110
+ Instance Method Summary
111
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
112
+ </h2>
113
+
114
+ <ul class="summary">
115
+
116
+ <li class="public ">
117
+ <span class="summary_signature">
118
+
119
+ <a href="#format-instance_method" title="#format (instance method)">- (String) <strong>format</strong>(message, suffix = &quot;\n&quot;, indent = true, wrap = true, plain = false) </a>
120
+
121
+
122
+
123
+ </span>
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+ <span class="summary_desc"><div class='inline'><p>Formats a message.</p>
134
+ </div></span>
135
+
136
+ </li>
137
+
138
+
139
+ <li class="public ">
140
+ <span class="summary_signature">
141
+
142
+ <a href="#format_right-instance_method" title="#format_right (instance method)">- (String) <strong>format_right</strong>(message, width = true, go_up = true, plain = false) </a>
143
+
144
+
145
+
146
+ </span>
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+ <span class="summary_desc"><div class='inline'><p>Formats a message to be written right-aligned.</p>
157
+ </div></span>
158
+
159
+ </li>
160
+
161
+
162
+ <li class="public ">
163
+ <span class="summary_signature">
164
+
165
+ <a href="#get_screen_width-instance_method" title="#get_screen_width (instance method)">- (Fixnum) <strong>get_screen_width</strong> </a>
166
+
167
+
168
+
169
+ </span>
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+ <span class="summary_desc"><div class='inline'><p>Gets the current screen width.</p>
180
+ </div></span>
181
+
182
+ </li>
183
+
184
+
185
+ <li class="public ">
186
+ <span class="summary_signature">
187
+
188
+ <a href="#indent-instance_method" title="#indent (instance method)">- (String) <strong>indent</strong>(message, width = true, newline_separator = &quot;\n&quot;) </a>
189
+
190
+
191
+
192
+ </span>
193
+
194
+
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+ <span class="summary_desc"><div class='inline'><p>Indents a message.</p>
203
+ </div></span>
204
+
205
+ </li>
206
+
207
+
208
+ <li class="public ">
209
+ <span class="summary_signature">
210
+
211
+ <a href="#reset_indentation-instance_method" title="#reset_indentation (instance method)">- (Fixnum) <strong>reset_indentation</strong> </a>
212
+
213
+
214
+
215
+ </span>
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+ <span class="summary_desc"><div class='inline'><p>Resets indentation width to <code>0</code>.</p>
226
+ </div></span>
227
+
228
+ </li>
229
+
230
+
231
+ <li class="public ">
232
+ <span class="summary_signature">
233
+
234
+ <a href="#set_indentation-instance_method" title="#set_indentation (instance method)">- (Fixnum) <strong>set_indentation</strong>(width, is_absolute = false) </a>
235
+
236
+
237
+
238
+ </span>
239
+
240
+
241
+
242
+
243
+
244
+
245
+
246
+
247
+
248
+ <span class="summary_desc"><div class='inline'><p>Sets the new indentation width.</p>
249
+ </div></span>
250
+
251
+ </li>
252
+
253
+
254
+ <li class="public ">
255
+ <span class="summary_signature">
256
+
257
+ <a href="#with_indentation-instance_method" title="#with_indentation (instance method)">- (Fixnum) <strong>with_indentation</strong>(width = 3, is_absolute = false) </a>
258
+
259
+
260
+
261
+ </span>
262
+
263
+
264
+
265
+
266
+
267
+
268
+
269
+
270
+
271
+ <span class="summary_desc"><div class='inline'><p>Starts a indented region of text.</p>
272
+ </div></span>
273
+
274
+ </li>
275
+
276
+
277
+ <li class="public ">
278
+ <span class="summary_signature">
279
+
280
+ <a href="#wrap-instance_method" title="#wrap (instance method)">- (String) <strong>wrap</strong>(message, width = nil) </a>
281
+
282
+
283
+
284
+ </span>
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+
294
+ <span class="summary_desc"><div class='inline'><p>Wraps a message in fixed line width.</p>
295
+ </div></span>
296
+
297
+ </li>
298
+
299
+
300
+ </ul>
301
+
302
+
303
+
304
+
305
+ <div id="instance_method_details" class="method_details_list">
306
+ <h2>Instance Method Details</h2>
307
+
308
+
309
+ <div class="method_details first">
310
+ <h3 class="signature first" id="format-instance_method">
311
+
312
+ - (<tt>String</tt>) <strong>format</strong>(message, suffix = &quot;\n&quot;, indent = true, wrap = true, plain = false)
313
+
314
+
315
+
316
+
317
+
318
+ </h3><div class="docstring">
319
+ <div class="discussion">
320
+ <p>Formats a message.</p>
321
+
322
+ <p>You can style text by using <code>{mark}</code> and <code>{/mark}</code> syntax.</p>
323
+
324
+
325
+ </div>
326
+ </div>
327
+ <div class="tags">
328
+ <p class="tag_title">Parameters:</p>
329
+ <ul class="param">
330
+
331
+ <li>
332
+
333
+ <span class='name'>message</span>
334
+
335
+
336
+ <span class='type'>(<tt>String</tt>)</span>
337
+
338
+
339
+
340
+ &mdash;
341
+ <div class='inline'><p>The message to format.</p>
342
+ </div>
343
+
344
+ </li>
345
+
346
+ <li>
347
+
348
+ <span class='name'>suffix</span>
349
+
350
+
351
+ <span class='type'>(<tt>Object</tt>)</span>
352
+
353
+
354
+ <em class="default">(defaults to: <tt>&quot;\n&quot;</tt>)</em>
355
+
356
+
357
+ &mdash;
358
+ <div class='inline'><p>If not <code>nil</code> or <code>false</code>, a suffix to add to the message. <code>true</code> means to add <code>\n</code>.</p>
359
+ </div>
360
+
361
+ </li>
362
+
363
+ <li>
364
+
365
+ <span class='name'>indent</span>
366
+
367
+
368
+ <span class='type'>(<tt>Object</tt>)</span>
369
+
370
+
371
+ <em class="default">(defaults to: <tt>true</tt>)</em>
372
+
373
+
374
+ &mdash;
375
+ <div class='inline'><p>If not <code>nil</code> or <code>false</code>, the width to use for indentation. <code>true</code> means to use the current indentation, a negative value of <code>-x</code> will indent of <code>x</code> absolute spaces.</p>
376
+ </div>
377
+
378
+ </li>
379
+
380
+ <li>
381
+
382
+ <span class='name'>wrap</span>
383
+
384
+
385
+ <span class='type'>(<tt>Object</tt>)</span>
386
+
387
+
388
+ <em class="default">(defaults to: <tt>true</tt>)</em>
389
+
390
+
391
+ &mdash;
392
+ <div class='inline'><p>If not <code>nil</code> or <code>false</code>, the maximum length of a line. <code>true</code> means the current line width.</p>
393
+ </div>
394
+
395
+ </li>
396
+
397
+ <li>
398
+
399
+ <span class='name'>plain</span>
400
+
401
+
402
+ <span class='type'>(<tt>Boolean</tt>)</span>
403
+
404
+
405
+ <em class="default">(defaults to: <tt>false</tt>)</em>
406
+
407
+
408
+ &mdash;
409
+ <div class='inline'><p>If ignore color markers into the message.</p>
410
+ </div>
411
+
412
+ </li>
413
+
414
+ </ul>
415
+
416
+ <p class="tag_title">Returns:</p>
417
+ <ul class="return">
418
+
419
+ <li>
420
+
421
+
422
+ <span class='type'>(<tt>String</tt>)</span>
423
+
424
+
425
+
426
+ &mdash;
427
+ <div class='inline'><p>The formatted message.</p>
428
+ </div>
429
+
430
+ </li>
431
+
432
+ </ul>
433
+
434
+ <p class="tag_title">See Also:</p>
435
+ <ul class="see">
436
+
437
+ <li>#replace_markers</li>
438
+
439
+ </ul>
440
+
441
+ </div><table class="source_code">
442
+ <tr>
443
+ <td>
444
+ <pre class="lines">
445
+
446
+
447
+ 201
448
+ 202
449
+ 203
450
+ 204
451
+ 205
452
+ 206
453
+ 207
454
+ 208
455
+ 209
456
+ 210
457
+ 211
458
+ 212
459
+ 213
460
+ 214
461
+ 215
462
+ 216
463
+ 217
464
+ 218
465
+ 219
466
+ 220
467
+ 221
468
+ 222
469
+ 223</pre>
470
+ </td>
471
+ <td>
472
+ <pre class="code"><span class="info file"># File 'lib/bovem/console.rb', line 201</span>
473
+
474
+ <span class='kw'>def</span> <span class='id identifier rubyid_format'>format</span><span class='lparen'>(</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='id identifier rubyid_suffix'>suffix</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_indent'>indent</span> <span class='op'>=</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='id identifier rubyid_wrap'>wrap</span> <span class='op'>=</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='id identifier rubyid_plain'>plain</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
475
+ <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_message'>message</span>
476
+
477
+ <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_replace_markers'>replace_markers</span><span class='lparen'>(</span><span class='id identifier rubyid_rv'>rv</span><span class='comma'>,</span> <span class='id identifier rubyid_plain'>plain</span><span class='rparen'>)</span> <span class='comment'># Replace markers
478
+ </span>
479
+ <span class='comment'># Compute the real width available for the screen, if we both indent and wrap
480
+ </span> <span class='kw'>if</span> <span class='id identifier rubyid_wrap'>wrap</span> <span class='op'>==</span> <span class='kw'>true</span> <span class='kw'>then</span>
481
+ <span class='id identifier rubyid_wrap'>wrap</span> <span class='op'>=</span> <span class='ivar'>@line_width</span>
482
+
483
+ <span class='kw'>if</span> <span class='id identifier rubyid_indent'>indent</span> <span class='op'>==</span> <span class='kw'>true</span> <span class='kw'>then</span>
484
+ <span class='id identifier rubyid_wrap'>wrap</span> <span class='op'>-=</span> <span class='ivar'>@indentation</span>
485
+ <span class='kw'>else</span>
486
+ <span class='id identifier rubyid_indent_i'>indent_i</span> <span class='op'>=</span> <span class='id identifier rubyid_indent'>indent</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span>
487
+ <span class='id identifier rubyid_wrap'>wrap</span> <span class='op'>-=</span> <span class='lparen'>(</span><span class='id identifier rubyid_indent_i'>indent_i</span> <span class='op'>&gt;</span> <span class='int'>0</span> <span class='op'>?</span> <span class='ivar'>@indentation</span> <span class='op'>:</span> <span class='int'>0</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='id identifier rubyid_indent_i'>indent_i</span>
488
+ <span class='kw'>end</span>
489
+ <span class='kw'>end</span>
490
+
491
+ <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_wrap'>wrap</span><span class='lparen'>(</span><span class='id identifier rubyid_rv'>rv</span><span class='comma'>,</span> <span class='id identifier rubyid_wrap'>wrap</span><span class='rparen'>)</span> <span class='comment'># Wrap
492
+ </span> <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_indent'>indent</span><span class='lparen'>(</span><span class='id identifier rubyid_rv'>rv</span><span class='comma'>,</span> <span class='id identifier rubyid_indent'>indent</span><span class='rparen'>)</span> <span class='comment'># Indent
493
+ </span>
494
+ <span class='id identifier rubyid_rv'>rv</span> <span class='op'>+=</span> <span class='id identifier rubyid_suffix'>suffix</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span> <span class='kw'>if</span> <span class='id identifier rubyid_suffix'>suffix</span> <span class='comment'># Add the suffix
495
+ </span> <span class='id identifier rubyid_rv'>rv</span>
496
+ <span class='kw'>end</span></pre>
497
+ </td>
498
+ </tr>
499
+ </table>
500
+ </div>
501
+
502
+ <div class="method_details ">
503
+ <h3 class="signature " id="format_right-instance_method">
504
+
505
+ - (<tt>String</tt>) <strong>format_right</strong>(message, width = true, go_up = true, plain = false)
506
+
507
+
508
+
509
+
510
+
511
+ </h3><div class="docstring">
512
+ <div class="discussion">
513
+ <p>Formats a message to be written right-aligned.</p>
514
+
515
+
516
+ </div>
517
+ </div>
518
+ <div class="tags">
519
+ <p class="tag_title">Parameters:</p>
520
+ <ul class="param">
521
+
522
+ <li>
523
+
524
+ <span class='name'>message</span>
525
+
526
+
527
+ <span class='type'>(<tt>String</tt>)</span>
528
+
529
+
530
+
531
+ &mdash;
532
+ <div class='inline'><p>The message to format.</p>
533
+ </div>
534
+
535
+ </li>
536
+
537
+ <li>
538
+
539
+ <span class='name'>width</span>
540
+
541
+
542
+ <span class='type'>(<tt>Fixnum</tt>)</span>
543
+
544
+
545
+ <em class="default">(defaults to: <tt>true</tt>)</em>
546
+
547
+
548
+ &mdash;
549
+ <div class='inline'><p>The screen width. If <code>true</code>, it is automatically computed.</p>
550
+ </div>
551
+
552
+ </li>
553
+
554
+ <li>
555
+
556
+ <span class='name'>go_up</span>
557
+
558
+
559
+ <span class='type'>(<tt>Boolean</tt>)</span>
560
+
561
+
562
+ <em class="default">(defaults to: <tt>true</tt>)</em>
563
+
564
+
565
+ &mdash;
566
+ <div class='inline'><p>If go up one line before formatting.</p>
567
+ </div>
568
+
569
+ </li>
570
+
571
+ <li>
572
+
573
+ <span class='name'>plain</span>
574
+
575
+
576
+ <span class='type'>(<tt>Boolean</tt>)</span>
577
+
578
+
579
+ <em class="default">(defaults to: <tt>false</tt>)</em>
580
+
581
+
582
+ &mdash;
583
+ <div class='inline'><p>If ignore color markers into the message.</p>
584
+ </div>
585
+
586
+ </li>
587
+
588
+ </ul>
589
+
590
+ <p class="tag_title">Returns:</p>
591
+ <ul class="return">
592
+
593
+ <li>
594
+
595
+
596
+ <span class='type'>(<tt>String</tt>)</span>
597
+
598
+
599
+
600
+ &mdash;
601
+ <div class='inline'><p>The formatted message.</p>
602
+ </div>
603
+
604
+ </li>
605
+
606
+ </ul>
607
+
608
+ </div><table class="source_code">
609
+ <tr>
610
+ <td>
611
+ <pre class="lines">
612
+
613
+
614
+ 232
615
+ 233
616
+ 234
617
+ 235
618
+ 236
619
+ 237
620
+ 238
621
+ 239
622
+ 240
623
+ 241
624
+ 242
625
+ 243
626
+ 244
627
+ 245</pre>
628
+ </td>
629
+ <td>
630
+ <pre class="code"><span class="info file"># File 'lib/bovem/console.rb', line 232</span>
631
+
632
+ <span class='kw'>def</span> <span class='id identifier rubyid_format_right'>format_right</span><span class='lparen'>(</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='id identifier rubyid_width'>width</span> <span class='op'>=</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='id identifier rubyid_go_up'>go_up</span> <span class='op'>=</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='id identifier rubyid_plain'>plain</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
633
+ <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_replace_markers'>replace_markers</span><span class='lparen'>(</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='id identifier rubyid_plain'>plain</span><span class='rparen'>)</span>
634
+
635
+ <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_go_up'>go_up</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\e[A</span><span class='tstring_end'>&quot;</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span>
636
+
637
+ <span class='ivar'>@screen_width</span> <span class='op'>||=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_get_screen_width'>get_screen_width</span>
638
+ <span class='id identifier rubyid_width'>width</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_width'>width</span> <span class='op'>==</span> <span class='kw'>true</span> <span class='op'>||</span> <span class='id identifier rubyid_width'>width</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span> <span class='op'>&lt;</span> <span class='int'>1</span> <span class='op'>?</span> <span class='ivar'>@screen_width</span> <span class='op'>:</span> <span class='id identifier rubyid_width'>width</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span><span class='rparen'>)</span>
639
+
640
+ <span class='comment'># Get padding
641
+ </span> <span class='id identifier rubyid_padding'>padding</span> <span class='op'>=</span> <span class='id identifier rubyid_width'>width</span> <span class='op'>-</span> <span class='id identifier rubyid_message'>message</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>(\e\[[0-9]*[a-z]?)|(\\n)</span><span class='regexp_end'>/i</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span>
642
+
643
+ <span class='comment'># Return
644
+ </span> <span class='id identifier rubyid_rv'>rv</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\e[0G\e[</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_padding'>padding</span><span class='rbrace'>}</span><span class='tstring_content'>C</span><span class='tstring_end'>&quot;</span></span> <span class='op'>+</span> <span class='id identifier rubyid_message'>message</span>
645
+ <span class='kw'>end</span></pre>
646
+ </td>
647
+ </tr>
648
+ </table>
649
+ </div>
650
+
651
+ <div class="method_details ">
652
+ <h3 class="signature " id="get_screen_width-instance_method">
653
+
654
+ - (<tt>Fixnum</tt>) <strong>get_screen_width</strong>
655
+
656
+
657
+
658
+
659
+
660
+ </h3><div class="docstring">
661
+ <div class="discussion">
662
+ <p>Gets the current screen width.</p>
663
+
664
+
665
+ </div>
666
+ </div>
667
+ <div class="tags">
668
+
669
+ <p class="tag_title">Returns:</p>
670
+ <ul class="return">
671
+
672
+ <li>
673
+
674
+
675
+ <span class='type'>(<tt>Fixnum</tt>)</span>
676
+
677
+
678
+
679
+ &mdash;
680
+ <div class='inline'><p>The screen width.</p>
681
+ </div>
682
+
683
+ </li>
684
+
685
+ </ul>
686
+
687
+ </div><table class="source_code">
688
+ <tr>
689
+ <td>
690
+ <pre class="lines">
691
+
692
+
693
+ 118
694
+ 119
695
+ 120</pre>
696
+ </td>
697
+ <td>
698
+ <pre class="code"><span class="info file"># File 'lib/bovem/console.rb', line 118</span>
699
+
700
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_screen_width'>get_screen_width</span>
701
+ <span class='op'>::</span><span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Console</span><span class='period'>.</span><span class='id identifier rubyid_execute'>execute</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>tput cols</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span><span class='lparen'>(</span><span class='int'>80</span><span class='rparen'>)</span>
702
+ <span class='kw'>end</span></pre>
703
+ </td>
704
+ </tr>
705
+ </table>
706
+ </div>
707
+
708
+ <div class="method_details ">
709
+ <h3 class="signature " id="indent-instance_method">
710
+
711
+ - (<tt>String</tt>) <strong>indent</strong>(message, width = true, newline_separator = &quot;\n&quot;)
712
+
713
+
714
+
715
+
716
+
717
+ </h3><div class="docstring">
718
+ <div class="discussion">
719
+ <p>Indents a message.</p>
720
+
721
+
722
+ </div>
723
+ </div>
724
+ <div class="tags">
725
+ <p class="tag_title">Parameters:</p>
726
+ <ul class="param">
727
+
728
+ <li>
729
+
730
+ <span class='name'>message</span>
731
+
732
+
733
+ <span class='type'>(<tt>String</tt>)</span>
734
+
735
+
736
+
737
+ &mdash;
738
+ <div class='inline'><p>The message to indent.</p>
739
+ </div>
740
+
741
+ </li>
742
+
743
+ <li>
744
+
745
+ <span class='name'>width</span>
746
+
747
+
748
+ <span class='type'>(<tt>Fixnum</tt>)</span>
749
+
750
+
751
+ <em class="default">(defaults to: <tt>true</tt>)</em>
752
+
753
+
754
+ &mdash;
755
+ <div class='inline'><p>The indentation width. <code>true</code> means to use the current indentation, a negative value of <code>-x</code> will indent of <code>x</code> absolute spaces. <code>nil</code> or <code>false</code> will skip indentation.</p>
756
+ </div>
757
+
758
+ </li>
759
+
760
+ <li>
761
+
762
+ <span class='name'>newline_separator</span>
763
+
764
+
765
+ <span class='type'>(<tt>String</tt>)</span>
766
+
767
+
768
+ <em class="default">(defaults to: <tt>&quot;\n&quot;</tt>)</em>
769
+
770
+
771
+ &mdash;
772
+ <div class='inline'><p>The character used for newlines.</p>
773
+ </div>
774
+
775
+ </li>
776
+
777
+ </ul>
778
+
779
+ <p class="tag_title">Returns:</p>
780
+ <ul class="return">
781
+
782
+ <li>
783
+
784
+
785
+ <span class='type'>(<tt>String</tt>)</span>
786
+
787
+
788
+
789
+ &mdash;
790
+ <div class='inline'><p>The indentend message.</p>
791
+ </div>
792
+
793
+ </li>
794
+
795
+ </ul>
796
+
797
+ </div><table class="source_code">
798
+ <tr>
799
+ <td>
800
+ <pre class="lines">
801
+
802
+
803
+ 176
804
+ 177
805
+ 178
806
+ 179
807
+ 180
808
+ 181
809
+ 182
810
+ 183
811
+ 184
812
+ 185
813
+ 186
814
+ 187</pre>
815
+ </td>
816
+ <td>
817
+ <pre class="code"><span class="info file"># File 'lib/bovem/console.rb', line 176</span>
818
+
819
+ <span class='kw'>def</span> <span class='id identifier rubyid_indent'>indent</span><span class='lparen'>(</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='id identifier rubyid_width'>width</span> <span class='op'>=</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='id identifier rubyid_newline_separator'>newline_separator</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
820
+ <span class='kw'>if</span> <span class='id identifier rubyid_width'>width</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span> <span class='op'>!=</span> <span class='int'>0</span> <span class='kw'>then</span>
821
+ <span class='id identifier rubyid_width'>width</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_width'>width</span> <span class='op'>==</span> <span class='kw'>true</span> <span class='op'>?</span> <span class='int'>0</span> <span class='op'>:</span> <span class='id identifier rubyid_width'>width</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span><span class='rparen'>)</span>
822
+ <span class='id identifier rubyid_width'>width</span> <span class='op'>=</span> <span class='id identifier rubyid_width'>width</span> <span class='op'>&lt;</span> <span class='int'>0</span> <span class='op'>?</span> <span class='op'>-</span><span class='id identifier rubyid_width'>width</span> <span class='op'>:</span> <span class='ivar'>@indentation</span> <span class='op'>+</span> <span class='id identifier rubyid_width'>width</span>
823
+
824
+ <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='id identifier rubyid_message'>message</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='id identifier rubyid_newline_separator'>newline_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_line'>line</span><span class='op'>|</span>
825
+ <span class='lparen'>(</span><span class='ivar'>@indentation_string</span> <span class='op'>*</span> <span class='id identifier rubyid_width'>width</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='id identifier rubyid_line'>line</span>
826
+ <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='id identifier rubyid_newline_separator'>newline_separator</span><span class='rparen'>)</span>
827
+ <span class='kw'>end</span>
828
+
829
+ <span class='id identifier rubyid_message'>message</span>
830
+ <span class='kw'>end</span></pre>
831
+ </td>
832
+ </tr>
833
+ </table>
834
+ </div>
835
+
836
+ <div class="method_details ">
837
+ <h3 class="signature " id="reset_indentation-instance_method">
838
+
839
+ - (<tt>Fixnum</tt>) <strong>reset_indentation</strong>
840
+
841
+
842
+
843
+
844
+
845
+ </h3><div class="docstring">
846
+ <div class="discussion">
847
+ <p>Resets indentation width to <code>0</code>.</p>
848
+
849
+
850
+ </div>
851
+ </div>
852
+ <div class="tags">
853
+
854
+ <p class="tag_title">Returns:</p>
855
+ <ul class="return">
856
+
857
+ <li>
858
+
859
+
860
+ <span class='type'>(<tt>Fixnum</tt>)</span>
861
+
862
+
863
+
864
+ &mdash;
865
+ <div class='inline'><p>The new indentation width.</p>
866
+ </div>
867
+
868
+ </li>
869
+
870
+ </ul>
871
+
872
+ </div><table class="source_code">
873
+ <tr>
874
+ <td>
875
+ <pre class="lines">
876
+
877
+
878
+ 135
879
+ 136
880
+ 137</pre>
881
+ </td>
882
+ <td>
883
+ <pre class="code"><span class="info file"># File 'lib/bovem/console.rb', line 135</span>
884
+
885
+ <span class='kw'>def</span> <span class='id identifier rubyid_reset_indentation'>reset_indentation</span>
886
+ <span class='ivar'>@indentation</span> <span class='op'>=</span> <span class='int'>0</span>
887
+ <span class='kw'>end</span></pre>
888
+ </td>
889
+ </tr>
890
+ </table>
891
+ </div>
892
+
893
+ <div class="method_details ">
894
+ <h3 class="signature " id="set_indentation-instance_method">
895
+
896
+ - (<tt>Fixnum</tt>) <strong>set_indentation</strong>(width, is_absolute = false)
897
+
898
+
899
+
900
+
901
+
902
+ </h3><div class="docstring">
903
+ <div class="discussion">
904
+ <p>Sets the new indentation width.</p>
905
+
906
+
907
+ </div>
908
+ </div>
909
+ <div class="tags">
910
+ <p class="tag_title">Parameters:</p>
911
+ <ul class="param">
912
+
913
+ <li>
914
+
915
+ <span class='name'>width</span>
916
+
917
+
918
+ <span class='type'>(<tt>Fixnum</tt>)</span>
919
+
920
+
921
+
922
+ &mdash;
923
+ <div class='inline'><p>The new width.</p>
924
+ </div>
925
+
926
+ </li>
927
+
928
+ <li>
929
+
930
+ <span class='name'>is_absolute</span>
931
+
932
+
933
+ <span class='type'>(<tt>Boolean</tt>)</span>
934
+
935
+
936
+ <em class="default">(defaults to: <tt>false</tt>)</em>
937
+
938
+
939
+ &mdash;
940
+ <div class='inline'><p>If the new width should not be added to the current one but rather replace it.</p>
941
+ </div>
942
+
943
+ </li>
944
+
945
+ </ul>
946
+
947
+ <p class="tag_title">Returns:</p>
948
+ <ul class="return">
949
+
950
+ <li>
951
+
952
+
953
+ <span class='type'>(<tt>Fixnum</tt>)</span>
954
+
955
+
956
+
957
+ &mdash;
958
+ <div class='inline'><p>The new indentation width.</p>
959
+ </div>
960
+
961
+ </li>
962
+
963
+ </ul>
964
+
965
+ </div><table class="source_code">
966
+ <tr>
967
+ <td>
968
+ <pre class="lines">
969
+
970
+
971
+ 127
972
+ 128
973
+ 129
974
+ 130</pre>
975
+ </td>
976
+ <td>
977
+ <pre class="code"><span class="info file"># File 'lib/bovem/console.rb', line 127</span>
978
+
979
+ <span class='kw'>def</span> <span class='id identifier rubyid_set_indentation'>set_indentation</span><span class='lparen'>(</span><span class='id identifier rubyid_width'>width</span><span class='comma'>,</span> <span class='id identifier rubyid_is_absolute'>is_absolute</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
980
+ <span class='ivar'>@indentation</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='lparen'>(</span><span class='op'>!</span><span class='id identifier rubyid_is_absolute'>is_absolute</span> <span class='op'>?</span> <span class='ivar'>@indentation</span> <span class='op'>:</span> <span class='int'>0</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='id identifier rubyid_width'>width</span><span class='comma'>,</span> <span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_max'>max</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
981
+ <span class='ivar'>@indentation</span>
982
+ <span class='kw'>end</span></pre>
983
+ </td>
984
+ </tr>
985
+ </table>
986
+ </div>
987
+
988
+ <div class="method_details ">
989
+ <h3 class="signature " id="with_indentation-instance_method">
990
+
991
+ - (<tt>Fixnum</tt>) <strong>with_indentation</strong>(width = 3, is_absolute = false)
992
+
993
+
994
+
995
+
996
+
997
+ </h3><div class="docstring">
998
+ <div class="discussion">
999
+ <p>Starts a indented region of text.</p>
1000
+
1001
+
1002
+ </div>
1003
+ </div>
1004
+ <div class="tags">
1005
+ <p class="tag_title">Parameters:</p>
1006
+ <ul class="param">
1007
+
1008
+ <li>
1009
+
1010
+ <span class='name'>width</span>
1011
+
1012
+
1013
+ <span class='type'>(<tt>Fixnum</tt>)</span>
1014
+
1015
+
1016
+ <em class="default">(defaults to: <tt>3</tt>)</em>
1017
+
1018
+
1019
+ &mdash;
1020
+ <div class='inline'><p>The new width.</p>
1021
+ </div>
1022
+
1023
+ </li>
1024
+
1025
+ <li>
1026
+
1027
+ <span class='name'>is_absolute</span>
1028
+
1029
+
1030
+ <span class='type'>(<tt>Boolean</tt>)</span>
1031
+
1032
+
1033
+ <em class="default">(defaults to: <tt>false</tt>)</em>
1034
+
1035
+
1036
+ &mdash;
1037
+ <div class='inline'><p>If the new width should not be added to the current one but rather replace it.</p>
1038
+ </div>
1039
+
1040
+ </li>
1041
+
1042
+ </ul>
1043
+
1044
+ <p class="tag_title">Returns:</p>
1045
+ <ul class="return">
1046
+
1047
+ <li>
1048
+
1049
+
1050
+ <span class='type'>(<tt>Fixnum</tt>)</span>
1051
+
1052
+
1053
+
1054
+ &mdash;
1055
+ <div class='inline'><p>The new indentation width.</p>
1056
+ </div>
1057
+
1058
+ </li>
1059
+
1060
+ </ul>
1061
+
1062
+ </div><table class="source_code">
1063
+ <tr>
1064
+ <td>
1065
+ <pre class="lines">
1066
+
1067
+
1068
+ 144
1069
+ 145
1070
+ 146
1071
+ 147
1072
+ 148
1073
+ 149
1074
+ 150
1075
+ 151</pre>
1076
+ </td>
1077
+ <td>
1078
+ <pre class="code"><span class="info file"># File 'lib/bovem/console.rb', line 144</span>
1079
+
1080
+ <span class='kw'>def</span> <span class='id identifier rubyid_with_indentation'>with_indentation</span><span class='lparen'>(</span><span class='id identifier rubyid_width'>width</span> <span class='op'>=</span> <span class='int'>3</span><span class='comma'>,</span> <span class='id identifier rubyid_is_absolute'>is_absolute</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
1081
+ <span class='id identifier rubyid_old'>old</span> <span class='op'>=</span> <span class='ivar'>@indentation</span>
1082
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_set_indentation'>set_indentation</span><span class='lparen'>(</span><span class='id identifier rubyid_width'>width</span><span class='comma'>,</span> <span class='id identifier rubyid_is_absolute'>is_absolute</span><span class='rparen'>)</span>
1083
+ <span class='kw'>yield</span>
1084
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_set_indentation'>set_indentation</span><span class='lparen'>(</span><span class='id identifier rubyid_old'>old</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
1085
+
1086
+ <span class='ivar'>@indentation</span>
1087
+ <span class='kw'>end</span></pre>
1088
+ </td>
1089
+ </tr>
1090
+ </table>
1091
+ </div>
1092
+
1093
+ <div class="method_details ">
1094
+ <h3 class="signature " id="wrap-instance_method">
1095
+
1096
+ - (<tt>String</tt>) <strong>wrap</strong>(message, width = nil)
1097
+
1098
+
1099
+
1100
+
1101
+
1102
+ </h3><div class="docstring">
1103
+ <div class="discussion">
1104
+ <p>Wraps a message in fixed line width.</p>
1105
+
1106
+
1107
+ </div>
1108
+ </div>
1109
+ <div class="tags">
1110
+ <p class="tag_title">Parameters:</p>
1111
+ <ul class="param">
1112
+
1113
+ <li>
1114
+
1115
+ <span class='name'>message</span>
1116
+
1117
+
1118
+ <span class='type'>(<tt>String</tt>)</span>
1119
+
1120
+
1121
+
1122
+ &mdash;
1123
+ <div class='inline'><p>The message to wrap.</p>
1124
+ </div>
1125
+
1126
+ </li>
1127
+
1128
+ <li>
1129
+
1130
+ <span class='name'>width</span>
1131
+
1132
+
1133
+ <span class='type'>(<tt>Fixnum</tt>)</span>
1134
+
1135
+
1136
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
1137
+
1138
+
1139
+ &mdash;
1140
+ <div class='inline'><p>The maximum width of a line. Default to the current line width.</p>
1141
+ </div>
1142
+
1143
+ </li>
1144
+
1145
+ </ul>
1146
+
1147
+ <p class="tag_title">Returns:</p>
1148
+ <ul class="return">
1149
+
1150
+ <li>
1151
+
1152
+
1153
+ <span class='type'>(<tt>String</tt>)</span>
1154
+
1155
+
1156
+
1157
+ &mdash;
1158
+ <div class='inline'><p>The wrapped message.</p>
1159
+ </div>
1160
+
1161
+ </li>
1162
+
1163
+ </ul>
1164
+
1165
+ </div><table class="source_code">
1166
+ <tr>
1167
+ <td>
1168
+ <pre class="lines">
1169
+
1170
+
1171
+ 158
1172
+ 159
1173
+ 160
1174
+ 161
1175
+ 162
1176
+ 163
1177
+ 164
1178
+ 165
1179
+ 166
1180
+ 167
1181
+ 168</pre>
1182
+ </td>
1183
+ <td>
1184
+ <pre class="code"><span class="info file"># File 'lib/bovem/console.rb', line 158</span>
1185
+
1186
+ <span class='kw'>def</span> <span class='id identifier rubyid_wrap'>wrap</span><span class='lparen'>(</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='id identifier rubyid_width'>width</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
1187
+ <span class='kw'>if</span> <span class='id identifier rubyid_width'>width</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span> <span class='op'>&lt;=</span> <span class='int'>0</span> <span class='kw'>then</span>
1188
+ <span class='id identifier rubyid_message'>message</span>
1189
+ <span class='kw'>else</span>
1190
+ <span class='id identifier rubyid_width'>width</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_width'>width</span> <span class='op'>==</span> <span class='kw'>true</span> <span class='op'>||</span> <span class='id identifier rubyid_width'>width</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span> <span class='op'>&lt;</span> <span class='int'>0</span> <span class='op'>?</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_get_screen_width'>get_screen_width</span> <span class='op'>:</span> <span class='id identifier rubyid_width'>width</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span><span class='rparen'>)</span>
1191
+
1192
+ <span class='id identifier rubyid_message'>message</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_line'>line</span><span class='op'>|</span>
1193
+ <span class='id identifier rubyid_line'>line</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>&gt;</span> <span class='id identifier rubyid_width'>width</span> <span class='op'>?</span> <span class='id identifier rubyid_line'>line</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>(.{1,</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_width'>width</span><span class='rbrace'>}</span><span class='tstring_content'>})(\s+|$)</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\\1\n</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span> <span class='op'>:</span> <span class='id identifier rubyid_line'>line</span>
1194
+ <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1195
+ <span class='kw'>end</span>
1196
+ <span class='kw'>end</span></pre>
1197
+ </td>
1198
+ </tr>
1199
+ </table>
1200
+ </div>
1201
+
1202
+ </div>
1203
+
1204
+ </div>
1205
+
1206
+ <div id="footer">
1207
+ Generated on Fri Feb 1 23:40:18 2013 by
1208
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1209
+ 0.8.3 (ruby-1.9.3).
1210
+ </div>
1211
+
1212
+ </body>
1213
+ </html>