patman 0.0.1

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.
data/doc/Patman.html ADDED
@@ -0,0 +1,3313 @@
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
+ Class: Patman
8
+
9
+ &mdash; Documentation by YARD 0.8.7.6
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" 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#!Patman.html";
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 (P)</a> &raquo;
35
+
36
+
37
+ <span class="title">Patman</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>Class: Patman
67
+
68
+
69
+
70
+ </h1>
71
+
72
+ <dl class="box">
73
+
74
+ <dt class="r1">Inherits:</dt>
75
+ <dd class="r1">
76
+ <span class="inheritName">Object</span>
77
+
78
+ <ul class="fullTree">
79
+ <li>Object</li>
80
+
81
+ <li class="next">Patman</li>
82
+
83
+ </ul>
84
+ <a href="#" class="inheritanceTree">show all</a>
85
+
86
+ </dd>
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+ <dt class="r2 last">Defined in:</dt>
97
+ <dd class="r2 last">lib/patman.rb<span class="defines">,<br />
98
+ lib/version.rb</span>
99
+ </dd>
100
+
101
+ </dl>
102
+ <div class="clear"></div>
103
+
104
+ <h2>Overview</h2><div class="docstring">
105
+ <div class="discussion">
106
+
107
+ <h1 id="label-Patman">Patman</h1>
108
+
109
+ <h2 id="label-Introduction">Introduction</h2>
110
+
111
+ <p><span class='object_link'><a href="" title="Patman (class)">Patman</a></span> (Patch Manipulator) is a library for text file patching. It can
112
+ also be used to extract information from files.</p>
113
+
114
+ <p>Typical <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> script opens a file for editing. The file is read into the
115
+ library. User finds the place for editing either with Regexp searches or
116
+ with direct line numbers. The file content is edited by adding, removing,
117
+ or replacing lines. When all edits are done, the updated file content is
118
+ written to disk.</p>
119
+
120
+ <p>All editing commands refer to the “current position”. Current position is
121
+ returned by “line” method. Positions refer to lines that have content. If
122
+ user wants append to the end of file, then user should jump to last line,
123
+ with “lastline” method, and then issue “append”. It is also possible to
124
+ jump to arbitrary lines, <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> does not prevent this. The line positions
125
+ are just used as an index to Array. For example negative line number will
126
+ refer from end towards beginning in content.</p>
127
+
128
+ <p>Position can be explicitly changed with “step”, “firstline”, or “lastline”
129
+ methods (commands). “find” changes position if the pattern is found in
130
+ selected direction. “append” changes position implicitly with every call.</p>
131
+
132
+ <p>Current line content is returned by “get” and it can be set with “set”
133
+ method. Current line content can be replaced with “sub”.</p>
134
+
135
+ <p><span class='object_link'><a href="" title="Patman (class)">Patman</a></span> includes many query commands: line, lines, [], get, find,
136
+ get_range, get_for. They all return the queried item. All other methods
137
+ return <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> object itself, hence many <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> methods can be
138
+ “chained”.</p>
139
+
140
+ <p>Block commands perform commands over a range of lines. Block commands are:
141
+ do_all, do_range, and do_for. These retain the original position, but the
142
+ final position is stored (actually one after) and it can be activated by
143
+ calling “blockline” method.</p>
144
+
145
+ <p>Block commands take a pre-defined number of lines to process. Note that, if
146
+ user deletes lines in block action, the outcome is most likely not what the
147
+ user expects.</p>
148
+
149
+ <p>Mark feature can be used if user wants to return back to original position
150
+ after changes. Mark features includes a “default mark” and “named marks”.</p>
151
+
152
+ <p>For debugging purposes it is good to see line content. “view” and “view_ln”
153
+ can be used to view line content either without or with line numbers
154
+ respectively.</p>
155
+
156
+ <p>No changes are stored to disk unless “write” is called. If user want to
157
+ create a “backup” of the edited file, the “copy” method can be used before
158
+ any editing commands have been applied.</p>
159
+
160
+ <h2 id="label-Example+session">Example session</h2>
161
+
162
+ <pre class="code ruby"><code class="ruby"><span class='comment'># Open file for reading.
163
+ </span><span class='id identifier rubyid_r'>r</span> <span class='op'>=</span> <span class='const'>Patman</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>report.txt</span><span class='tstring_end'>&quot;</span></span> <span class='rparen'>)</span>
164
+
165
+ <span class='comment'># Backup file and find next line with &quot;cpp&quot;, method chaining.
166
+ </span><span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_copy'>copy</span><span class='lparen'>(</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>report.txt.org</span><span class='tstring_end'>&quot;</span></span> <span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_find'>find</span><span class='lparen'>(</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>cpp</span><span class='regexp_end'>/</span></span> <span class='rparen'>)</span>
167
+
168
+ <span class='comment'># Collect some lines.
169
+ </span><span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='int'>4</span><span class='period'>.</span><span class='id identifier rubyid_times'>times</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span>
170
+ <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_ref'>ref</span><span class='lparen'>(</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_line'>line</span> <span class='op'>+</span> <span class='id identifier rubyid_i'>i</span> <span class='rparen'>)</span>
171
+ <span class='kw'>end</span>
172
+
173
+ <span class='comment'># Duplicate the lines collected.
174
+ </span><span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_insert'>insert</span><span class='lparen'>(</span> <span class='id identifier rubyid_data'>data</span> <span class='rparen'>)</span>
175
+
176
+ <span class='comment'># Move to line 9.
177
+ </span><span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_line'>line</span> <span class='int'>9</span>
178
+
179
+ <span class='comment'># Append &quot; Hello&quot; to the end of current line.
180
+ </span><span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_set'>set</span><span class='lparen'>(</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> Hello</span><span class='tstring_end'>&quot;</span></span> <span class='rparen'>)</span>
181
+
182
+ <span class='comment'># Save changes.
183
+ </span><span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span>
184
+ </code></pre>
185
+
186
+
187
+ </div>
188
+ </div>
189
+ <div class="tags">
190
+
191
+
192
+ </div><h2>Defined Under Namespace</h2>
193
+ <p class="children">
194
+
195
+
196
+
197
+
198
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="Patman/PatmanError.html" title="Patman::PatmanError (class)">PatmanError</a></span>, <span class='object_link'><a href="Patman/PatmanFileError.html" title="Patman::PatmanFileError (class)">PatmanFileError</a></span>, <span class='object_link'><a href="Patman/PatmanSearchError.html" title="Patman::PatmanSearchError (class)">PatmanSearchError</a></span>
199
+
200
+
201
+ </p>
202
+
203
+ <h2>Constant Summary</h2>
204
+
205
+ <dl class="constants">
206
+
207
+ <dt id="VERSION-constant" class="">VERSION =
208
+
209
+ </dt>
210
+ <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>0.0.1</span><span class='tstring_end'>&quot;</span></span></pre></dd>
211
+
212
+ </dl>
213
+
214
+
215
+
216
+
217
+
218
+ <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
219
+ <ul class="summary">
220
+
221
+ <li class="public ">
222
+ <span class="summary_signature">
223
+
224
+ <a href="#marks-instance_method" title="#marks (instance method)">- (Object) <strong>marks</strong> </a>
225
+
226
+
227
+
228
+ </span>
229
+
230
+
231
+
232
+
233
+
234
+
235
+
236
+
237
+
238
+
239
+
240
+
241
+ <span class="summary_desc"><div class='inline'>
242
+ <p>Returns the value of attribute marks.</p>
243
+ </div></span>
244
+
245
+ </li>
246
+
247
+
248
+ </ul>
249
+
250
+
251
+
252
+
253
+
254
+ <h2>
255
+ Class Method Summary
256
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
257
+ </h2>
258
+
259
+ <ul class="summary">
260
+
261
+ <li class="public ">
262
+ <span class="summary_signature">
263
+
264
+ <a href="#read-class_method" title="read (class method)">+ (Object) <strong>read</strong>(file) </a>
265
+
266
+
267
+
268
+ </span>
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+
278
+ <span class="summary_desc"><div class='inline'>
279
+ <p>Create editing session with file.</p>
280
+ </div></span>
281
+
282
+ </li>
283
+
284
+
285
+ <li class="public ">
286
+ <span class="summary_signature">
287
+
288
+ <a href="#version-class_method" title="version (class method)">+ (Object) <strong>version</strong> </a>
289
+
290
+
291
+
292
+ </span>
293
+
294
+
295
+
296
+
297
+
298
+
299
+
300
+
301
+
302
+ <span class="summary_desc"><div class='inline'></div></span>
303
+
304
+ </li>
305
+
306
+
307
+ </ul>
308
+
309
+ <h2>
310
+ Instance Method Summary
311
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
312
+ </h2>
313
+
314
+ <ul class="summary">
315
+
316
+ <li class="public ">
317
+ <span class="summary_signature">
318
+
319
+ <a href="#%5B%5D-instance_method" title="#[] (instance method)">- (Object) <strong>[]</strong>(range) </a>
320
+
321
+
322
+
323
+ </span>
324
+
325
+
326
+
327
+
328
+
329
+
330
+
331
+
332
+
333
+ <span class="summary_desc"><div class='inline'>
334
+ <p>Reference <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content by range.</p>
335
+ </div></span>
336
+
337
+ </li>
338
+
339
+
340
+ <li class="public ">
341
+ <span class="summary_signature">
342
+
343
+ <a href="#append-instance_method" title="#append (instance method)">- (Object) <strong>append</strong>(text = nil) </a>
344
+
345
+
346
+
347
+ </span>
348
+
349
+
350
+
351
+
352
+
353
+
354
+
355
+
356
+
357
+ <span class="summary_desc"><div class='inline'>
358
+ <p>Append after current position.</p>
359
+ </div></span>
360
+
361
+ </li>
362
+
363
+
364
+ <li class="public ">
365
+ <span class="summary_signature">
366
+
367
+ <a href="#blockline-instance_method" title="#blockline (instance method)">- (Object) <strong>blockline</strong> </a>
368
+
369
+
370
+
371
+ </span>
372
+
373
+
374
+
375
+
376
+
377
+
378
+
379
+
380
+
381
+ <span class="summary_desc"><div class='inline'>
382
+ <p>Jump to line after block.</p>
383
+ </div></span>
384
+
385
+ </li>
386
+
387
+
388
+ <li class="public ">
389
+ <span class="summary_signature">
390
+
391
+ <a href="#clear-instance_method" title="#clear (instance method)">- (Object) <strong>clear</strong> </a>
392
+
393
+
394
+
395
+ </span>
396
+
397
+
398
+
399
+
400
+
401
+
402
+
403
+
404
+
405
+ <span class="summary_desc"><div class='inline'>
406
+ <p>Clear <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content and reset current line.</p>
407
+ </div></span>
408
+
409
+ </li>
410
+
411
+
412
+ <li class="public ">
413
+ <span class="summary_signature">
414
+
415
+ <a href="#copy-instance_method" title="#copy (instance method)">- (Object) <strong>copy</strong>(file) </a>
416
+
417
+
418
+
419
+ </span>
420
+
421
+
422
+
423
+
424
+
425
+
426
+
427
+
428
+
429
+ <span class="summary_desc"><div class='inline'>
430
+ <p>Copy <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content to file.</p>
431
+ </div></span>
432
+
433
+ </li>
434
+
435
+
436
+ <li class="public ">
437
+ <span class="summary_signature">
438
+
439
+ <a href="#delete-instance_method" title="#delete (instance method)">- (Object) <strong>delete</strong>(count = 1) </a>
440
+
441
+
442
+
443
+ </span>
444
+
445
+
446
+
447
+
448
+
449
+
450
+
451
+
452
+
453
+ <span class="summary_desc"><div class='inline'>
454
+ <p>Delete current line.</p>
455
+ </div></span>
456
+
457
+ </li>
458
+
459
+
460
+ <li class="public ">
461
+ <span class="summary_signature">
462
+
463
+ <a href="#do_all-instance_method" title="#do_all (instance method)">- (Object) <strong>do_all</strong>(&amp;blk) </a>
464
+
465
+
466
+
467
+ </span>
468
+
469
+
470
+
471
+
472
+
473
+
474
+
475
+
476
+
477
+ <span class="summary_desc"><div class='inline'>
478
+ <p>Execute given block for all lines, i.e.</p>
479
+ </div></span>
480
+
481
+ </li>
482
+
483
+
484
+ <li class="public ">
485
+ <span class="summary_signature">
486
+
487
+ <a href="#do_for-instance_method" title="#do_for (instance method)">- (Object) <strong>do_for</strong>(start, count, &amp;blk) </a>
488
+
489
+
490
+
491
+ </span>
492
+
493
+
494
+
495
+
496
+
497
+
498
+
499
+
500
+
501
+ <span class="summary_desc"><div class='inline'>
502
+ <p>Execute given block starting from start by count, and update position.</p>
503
+ </div></span>
504
+
505
+ </li>
506
+
507
+
508
+ <li class="public ">
509
+ <span class="summary_signature">
510
+
511
+ <a href="#do_range-instance_method" title="#do_range (instance method)">- (Object) <strong>do_range</strong>(start, stop, &amp;blk) </a>
512
+
513
+
514
+
515
+ </span>
516
+
517
+
518
+
519
+
520
+
521
+
522
+
523
+
524
+
525
+ <span class="summary_desc"><div class='inline'>
526
+ <p>Execute given block between start and stop positions, and update position.</p>
527
+ </div></span>
528
+
529
+ </li>
530
+
531
+
532
+ <li class="public ">
533
+ <span class="summary_signature">
534
+
535
+ <a href="#edit-instance_method" title="#edit (instance method)">- (Object) <strong>edit</strong> </a>
536
+
537
+
538
+
539
+ </span>
540
+
541
+
542
+
543
+
544
+
545
+
546
+
547
+
548
+
549
+ <span class="summary_desc"><div class='inline'>
550
+ <p>Mark content modified (explicit).</p>
551
+ </div></span>
552
+
553
+ </li>
554
+
555
+
556
+ <li class="public ">
557
+ <span class="summary_signature">
558
+
559
+ <a href="#edited%3F-instance_method" title="#edited? (instance method)">- (Boolean) <strong>edited?</strong> </a>
560
+
561
+
562
+
563
+ </span>
564
+
565
+
566
+
567
+
568
+
569
+
570
+
571
+
572
+
573
+ <span class="summary_desc"><div class='inline'>
574
+ <p>Return true if content is modified.</p>
575
+ </div></span>
576
+
577
+ </li>
578
+
579
+
580
+ <li class="public ">
581
+ <span class="summary_signature">
582
+
583
+ <a href="#excursion-instance_method" title="#excursion (instance method)">- (Object) <strong>excursion</strong>(&amp;blk) </a>
584
+
585
+
586
+
587
+ </span>
588
+
589
+
590
+
591
+
592
+
593
+
594
+
595
+
596
+
597
+ <span class="summary_desc"><div class='inline'>
598
+ <p>Execute block, retain current position, and return block value.</p>
599
+ </div></span>
600
+
601
+ </li>
602
+
603
+
604
+ <li class="public ">
605
+ <span class="summary_signature">
606
+
607
+ <a href="#filename-instance_method" title="#filename (instance method)">- (Object) <strong>filename</strong> </a>
608
+
609
+
610
+
611
+ </span>
612
+
613
+
614
+
615
+
616
+
617
+
618
+
619
+
620
+
621
+ <span class="summary_desc"><div class='inline'>
622
+ <p>Return <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> file name.</p>
623
+ </div></span>
624
+
625
+ </li>
626
+
627
+
628
+ <li class="public ">
629
+ <span class="summary_signature">
630
+
631
+ <a href="#find-instance_method" title="#find (instance method)">- (Object) <strong>find</strong>(re_or_str, forward = true) </a>
632
+
633
+
634
+
635
+ </span>
636
+
637
+
638
+
639
+
640
+
641
+
642
+
643
+
644
+
645
+ <span class="summary_desc"><div class='inline'>
646
+ <p>Find Regexp or literal string forwards or backwards.</p>
647
+ </div></span>
648
+
649
+ </li>
650
+
651
+
652
+ <li class="public ">
653
+ <span class="summary_signature">
654
+
655
+ <a href="#firstline-instance_method" title="#firstline (instance method)">- (Object) <strong>firstline</strong> </a>
656
+
657
+
658
+
659
+ </span>
660
+
661
+
662
+
663
+
664
+
665
+
666
+
667
+
668
+
669
+ <span class="summary_desc"><div class='inline'>
670
+ <p>Jump to first line.</p>
671
+ </div></span>
672
+
673
+ </li>
674
+
675
+
676
+ <li class="public ">
677
+ <span class="summary_signature">
678
+
679
+ <a href="#get-instance_method" title="#get (instance method)">- (Object) <strong>get</strong>(count = 1) </a>
680
+
681
+
682
+
683
+ </span>
684
+
685
+
686
+
687
+
688
+
689
+
690
+
691
+
692
+
693
+ <span class="summary_desc"><div class='inline'>
694
+ <p>Get current line or lines by count.</p>
695
+ </div></span>
696
+
697
+ </li>
698
+
699
+
700
+ <li class="public ">
701
+ <span class="summary_signature">
702
+
703
+ <a href="#get_for-instance_method" title="#get_for (instance method)">- (Object) <strong>get_for</strong>(start, count) </a>
704
+
705
+
706
+
707
+ </span>
708
+
709
+
710
+
711
+
712
+
713
+
714
+
715
+
716
+
717
+ <span class="summary_desc"><div class='inline'>
718
+ <p>Get lines starting from start by count.</p>
719
+ </div></span>
720
+
721
+ </li>
722
+
723
+
724
+ <li class="public ">
725
+ <span class="summary_signature">
726
+
727
+ <a href="#get_range-instance_method" title="#get_range (instance method)">- (Object) <strong>get_range</strong>(start, stop) </a>
728
+
729
+
730
+
731
+ </span>
732
+
733
+
734
+
735
+
736
+
737
+
738
+
739
+
740
+
741
+ <span class="summary_desc"><div class='inline'>
742
+ <p>Get lines between start and stop positions inclusive.</p>
743
+ </div></span>
744
+
745
+ </li>
746
+
747
+
748
+ <li class="public ">
749
+ <span class="summary_signature">
750
+
751
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (Patman) <strong>initialize</strong>(file) </a>
752
+
753
+
754
+
755
+ </span>
756
+
757
+
758
+ <span class="note title constructor">constructor</span>
759
+
760
+
761
+
762
+
763
+
764
+
765
+
766
+
767
+ <span class="summary_desc"><div class='inline'>
768
+ <p>Create <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> object.</p>
769
+ </div></span>
770
+
771
+ </li>
772
+
773
+
774
+ <li class="public ">
775
+ <span class="summary_signature">
776
+
777
+ <a href="#insert-instance_method" title="#insert (instance method)">- (Object) <strong>insert</strong>(text = nil) </a>
778
+
779
+
780
+
781
+ </span>
782
+
783
+
784
+
785
+
786
+
787
+
788
+
789
+
790
+
791
+ <span class="summary_desc"><div class='inline'>
792
+ <p>Insert line or lines (Array) to current position.</p>
793
+ </div></span>
794
+
795
+ </li>
796
+
797
+
798
+ <li class="public ">
799
+ <span class="summary_signature">
800
+
801
+ <a href="#insertfile-instance_method" title="#insertfile (instance method)">- (Object) <strong>insertfile</strong>(file) </a>
802
+
803
+
804
+
805
+ </span>
806
+
807
+
808
+
809
+
810
+
811
+
812
+
813
+
814
+
815
+ <span class="summary_desc"><div class='inline'>
816
+ <p>Insert file to current position.</p>
817
+ </div></span>
818
+
819
+ </li>
820
+
821
+
822
+ <li class="public ">
823
+ <span class="summary_signature">
824
+
825
+ <a href="#lastline-instance_method" title="#lastline (instance method)">- (Object) <strong>lastline</strong> </a>
826
+
827
+
828
+
829
+ </span>
830
+
831
+
832
+
833
+
834
+
835
+
836
+
837
+
838
+
839
+ <span class="summary_desc"><div class='inline'>
840
+ <p>Jump to last line.</p>
841
+ </div></span>
842
+
843
+ </li>
844
+
845
+
846
+ <li class="public ">
847
+ <span class="summary_signature">
848
+
849
+ <a href="#length-instance_method" title="#length (instance method)">- (Object) <strong>length</strong> </a>
850
+
851
+
852
+
853
+ </span>
854
+
855
+
856
+
857
+
858
+
859
+
860
+
861
+
862
+
863
+ <span class="summary_desc"><div class='inline'>
864
+ <p>Return line count of <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content.</p>
865
+ </div></span>
866
+
867
+ </li>
868
+
869
+
870
+ <li class="public ">
871
+ <span class="summary_signature">
872
+
873
+ <a href="#line-instance_method" title="#line (instance method)">- (Object) <strong>line</strong>(arg = nil) </a>
874
+
875
+
876
+
877
+ </span>
878
+
879
+
880
+
881
+
882
+
883
+
884
+
885
+
886
+
887
+ <span class="summary_desc"><div class='inline'>
888
+ <p>Return or set line.</p>
889
+ </div></span>
890
+
891
+ </li>
892
+
893
+
894
+ <li class="public ">
895
+ <span class="summary_signature">
896
+
897
+ <a href="#lines-instance_method" title="#lines (instance method)">- (Object) <strong>lines</strong>(arg = nil) </a>
898
+
899
+
900
+
901
+ </span>
902
+
903
+
904
+
905
+
906
+
907
+
908
+
909
+
910
+
911
+ <span class="summary_desc"><div class='inline'>
912
+ <p>Get or set all <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content.</p>
913
+ </div></span>
914
+
915
+ </li>
916
+
917
+
918
+ <li class="public ">
919
+ <span class="summary_signature">
920
+
921
+ <a href="#mark-instance_method" title="#mark (instance method)">- (Object) <strong>mark</strong>(tag = nil) </a>
922
+
923
+
924
+
925
+ </span>
926
+
927
+
928
+
929
+
930
+
931
+
932
+
933
+
934
+
935
+ <span class="summary_desc"><div class='inline'>
936
+ <p>Mark (store) current position to default or to named mark.</p>
937
+ </div></span>
938
+
939
+ </li>
940
+
941
+
942
+ <li class="public ">
943
+ <span class="summary_signature">
944
+
945
+ <a href="#peek-instance_method" title="#peek (instance method)">- (Object) <strong>peek</strong>(count = 0) </a>
946
+
947
+
948
+
949
+ </span>
950
+
951
+
952
+
953
+
954
+
955
+
956
+
957
+
958
+
959
+ <span class="summary_desc"><div class='inline'>
960
+ <p>View line content around current position (by count).</p>
961
+ </div></span>
962
+
963
+ </li>
964
+
965
+
966
+ <li class="public ">
967
+ <span class="summary_signature">
968
+
969
+ <a href="#peek_ln-instance_method" title="#peek_ln (instance method)">- (Object) <strong>peek_ln</strong>(count = 0) </a>
970
+
971
+
972
+
973
+ </span>
974
+
975
+
976
+
977
+
978
+
979
+
980
+
981
+
982
+
983
+ <span class="summary_desc"><div class='inline'>
984
+ <p>View line content with line numbers around current position (by count).</p>
985
+ </div></span>
986
+
987
+ </li>
988
+
989
+
990
+ <li class="public ">
991
+ <span class="summary_signature">
992
+
993
+ <a href="#read-instance_method" title="#read (instance method)">- (Object) <strong>read</strong> </a>
994
+
995
+
996
+
997
+ </span>
998
+
999
+
1000
+
1001
+
1002
+
1003
+
1004
+
1005
+
1006
+
1007
+ <span class="summary_desc"><div class='inline'>
1008
+ <p>Read file in.</p>
1009
+ </div></span>
1010
+
1011
+ </li>
1012
+
1013
+
1014
+ <li class="public ">
1015
+ <span class="summary_signature">
1016
+
1017
+ <a href="#ref-instance_method" title="#ref (instance method)">- (Object) <strong>ref</strong>(line = nil) </a>
1018
+
1019
+
1020
+
1021
+ </span>
1022
+
1023
+
1024
+
1025
+
1026
+
1027
+
1028
+
1029
+
1030
+
1031
+ <span class="summary_desc"><div class='inline'>
1032
+ <p>Get current line or any line.</p>
1033
+ </div></span>
1034
+
1035
+ </li>
1036
+
1037
+
1038
+ <li class="public ">
1039
+ <span class="summary_signature">
1040
+
1041
+ <a href="#search-instance_method" title="#search (instance method)">- (Object) <strong>search</strong>(re_or_str, forward = true) </a>
1042
+
1043
+
1044
+
1045
+ </span>
1046
+
1047
+
1048
+
1049
+
1050
+
1051
+
1052
+
1053
+
1054
+
1055
+ <span class="summary_desc"><div class='inline'>
1056
+ <p>Search Regexp or literal string forwards or backwards.</p>
1057
+ </div></span>
1058
+
1059
+ </li>
1060
+
1061
+
1062
+ <li class="public ">
1063
+ <span class="summary_signature">
1064
+
1065
+ <a href="#set-instance_method" title="#set (instance method)">- (Object) <strong>set</strong>(text) </a>
1066
+
1067
+
1068
+
1069
+ </span>
1070
+
1071
+
1072
+
1073
+
1074
+
1075
+
1076
+
1077
+
1078
+
1079
+ <span class="summary_desc"><div class='inline'>
1080
+ <p>Set current line.</p>
1081
+ </div></span>
1082
+
1083
+ </li>
1084
+
1085
+
1086
+ <li class="public ">
1087
+ <span class="summary_signature">
1088
+
1089
+ <a href="#step-instance_method" title="#step (instance method)">- (Object) <strong>step</strong>(dir = 1) </a>
1090
+
1091
+
1092
+
1093
+ </span>
1094
+
1095
+
1096
+
1097
+
1098
+
1099
+
1100
+
1101
+
1102
+
1103
+ <span class="summary_desc"><div class='inline'>
1104
+ <p>Step forward or backward current position.</p>
1105
+ </div></span>
1106
+
1107
+ </li>
1108
+
1109
+
1110
+ <li class="public ">
1111
+ <span class="summary_signature">
1112
+
1113
+ <a href="#sub-instance_method" title="#sub (instance method)">- (Object) <strong>sub</strong>(from, to) </a>
1114
+
1115
+
1116
+
1117
+ </span>
1118
+
1119
+
1120
+
1121
+
1122
+
1123
+
1124
+
1125
+
1126
+
1127
+ <span class="summary_desc"><div class='inline'>
1128
+ <p>Substitution in current line.</p>
1129
+ </div></span>
1130
+
1131
+ </li>
1132
+
1133
+
1134
+ <li class="public ">
1135
+ <span class="summary_signature">
1136
+
1137
+ <a href="#unmark-instance_method" title="#unmark (instance method)">- (Object) <strong>unmark</strong>(tag = nil) </a>
1138
+
1139
+
1140
+
1141
+ </span>
1142
+
1143
+
1144
+
1145
+
1146
+
1147
+
1148
+
1149
+
1150
+
1151
+ <span class="summary_desc"><div class='inline'>
1152
+ <p>Unmark (restore) current position from default or from named mark.</p>
1153
+ </div></span>
1154
+
1155
+ </li>
1156
+
1157
+
1158
+ <li class="public ">
1159
+ <span class="summary_signature">
1160
+
1161
+ <a href="#update-instance_method" title="#update (instance method)">- (Object) <strong>update</strong>(&amp;blk) </a>
1162
+
1163
+
1164
+
1165
+ </span>
1166
+
1167
+
1168
+
1169
+
1170
+
1171
+
1172
+
1173
+
1174
+
1175
+ <span class="summary_desc"><div class='inline'>
1176
+ <p>Update current line content (i.e. get&amp;set) with the return value of the
1177
+ given block.</p>
1178
+ </div></span>
1179
+
1180
+ </li>
1181
+
1182
+
1183
+ <li class="public ">
1184
+ <span class="summary_signature">
1185
+
1186
+ <a href="#view-instance_method" title="#view (instance method)">- (Object) <strong>view</strong>(arg1 = nil, arg2 = nil) </a>
1187
+
1188
+
1189
+
1190
+ </span>
1191
+
1192
+
1193
+
1194
+
1195
+
1196
+
1197
+
1198
+
1199
+
1200
+ <span class="summary_desc"><div class='inline'>
1201
+ <p>View line content.</p>
1202
+ </div></span>
1203
+
1204
+ </li>
1205
+
1206
+
1207
+ <li class="public ">
1208
+ <span class="summary_signature">
1209
+
1210
+ <a href="#view_ln-instance_method" title="#view_ln (instance method)">- (Object) <strong>view_ln</strong>(arg1 = nil, arg2 = nil) </a>
1211
+
1212
+
1213
+
1214
+ </span>
1215
+
1216
+
1217
+
1218
+
1219
+
1220
+
1221
+
1222
+
1223
+
1224
+ <span class="summary_desc"><div class='inline'>
1225
+ <p>View line content with line numbers.</p>
1226
+ </div></span>
1227
+
1228
+ </li>
1229
+
1230
+
1231
+ <li class="public ">
1232
+ <span class="summary_signature">
1233
+
1234
+ <a href="#write-instance_method" title="#write (instance method)">- (Object) <strong>write</strong>(file = @file) </a>
1235
+
1236
+
1237
+
1238
+ </span>
1239
+
1240
+
1241
+
1242
+
1243
+
1244
+
1245
+
1246
+
1247
+
1248
+ <span class="summary_desc"><div class='inline'>
1249
+ <p>Write <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content to disk.</p>
1250
+ </div></span>
1251
+
1252
+ </li>
1253
+
1254
+
1255
+ </ul>
1256
+
1257
+
1258
+ <div id="constructor_details" class="method_details_list">
1259
+ <h2>Constructor Details</h2>
1260
+
1261
+ <div class="method_details first">
1262
+ <h3 class="signature first" id="initialize-instance_method">
1263
+
1264
+ - (<tt><span class='object_link'><a href="" title="Patman (class)">Patman</a></span></tt>) <strong>initialize</strong>(file)
1265
+
1266
+
1267
+
1268
+
1269
+
1270
+ </h3><div class="docstring">
1271
+ <div class="discussion">
1272
+
1273
+ <p>Create <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> object.</p>
1274
+
1275
+
1276
+ </div>
1277
+ </div>
1278
+ <div class="tags">
1279
+
1280
+
1281
+ </div><table class="source_code">
1282
+ <tr>
1283
+ <td>
1284
+ <pre class="lines">
1285
+
1286
+
1287
+ 106
1288
+ 107
1289
+ 108
1290
+ 109
1291
+ 110
1292
+ 111
1293
+ 112
1294
+ 113
1295
+ 114</pre>
1296
+ </td>
1297
+ <td>
1298
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 106</span>
1299
+
1300
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span> <span class='id identifier rubyid_file'>file</span> <span class='rparen'>)</span>
1301
+ <span class='ivar'>@file</span> <span class='op'>=</span> <span class='id identifier rubyid_file'>file</span>
1302
+ <span class='ivar'>@lines</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1303
+ <span class='ivar'>@line</span> <span class='op'>=</span> <span class='int'>0</span>
1304
+ <span class='ivar'>@mark</span> <span class='op'>=</span> <span class='kw'>nil</span>
1305
+ <span class='ivar'>@marks</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
1306
+ <span class='ivar'>@blockline</span> <span class='op'>=</span> <span class='kw'>nil</span>
1307
+ <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>false</span>
1308
+ <span class='kw'>end</span></pre>
1309
+ </td>
1310
+ </tr>
1311
+ </table>
1312
+ </div>
1313
+
1314
+ </div>
1315
+
1316
+ <div id="instance_attr_details" class="attr_details">
1317
+ <h2>Instance Attribute Details</h2>
1318
+
1319
+
1320
+ <span id="marks=-instance_method"></span>
1321
+ <div class="method_details first">
1322
+ <h3 class="signature first" id="marks-instance_method">
1323
+
1324
+ - (<tt>Object</tt>) <strong>marks</strong>
1325
+
1326
+
1327
+
1328
+
1329
+
1330
+ </h3><div class="docstring">
1331
+ <div class="discussion">
1332
+
1333
+ <p>Returns the value of attribute marks</p>
1334
+
1335
+
1336
+ </div>
1337
+ </div>
1338
+ <div class="tags">
1339
+
1340
+
1341
+ </div><table class="source_code">
1342
+ <tr>
1343
+ <td>
1344
+ <pre class="lines">
1345
+
1346
+
1347
+ 95
1348
+ 96
1349
+ 97</pre>
1350
+ </td>
1351
+ <td>
1352
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 95</span>
1353
+
1354
+ <span class='kw'>def</span> <span class='id identifier rubyid_marks'>marks</span>
1355
+ <span class='ivar'>@marks</span>
1356
+ <span class='kw'>end</span></pre>
1357
+ </td>
1358
+ </tr>
1359
+ </table>
1360
+ </div>
1361
+
1362
+ </div>
1363
+
1364
+
1365
+ <div id="class_method_details" class="method_details_list">
1366
+ <h2>Class Method Details</h2>
1367
+
1368
+
1369
+ <div class="method_details first">
1370
+ <h3 class="signature first" id="read-class_method">
1371
+
1372
+ + (<tt>Object</tt>) <strong>read</strong>(file)
1373
+
1374
+
1375
+
1376
+
1377
+
1378
+ </h3><div class="docstring">
1379
+ <div class="discussion">
1380
+
1381
+ <p>Create editing session with file.</p>
1382
+
1383
+
1384
+ </div>
1385
+ </div>
1386
+ <div class="tags">
1387
+
1388
+
1389
+ </div><table class="source_code">
1390
+ <tr>
1391
+ <td>
1392
+ <pre class="lines">
1393
+
1394
+
1395
+ 99
1396
+ 100
1397
+ 101
1398
+ 102
1399
+ 103</pre>
1400
+ </td>
1401
+ <td>
1402
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 99</span>
1403
+
1404
+ <span class='kw'>def</span> <span class='const'>Patman</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span> <span class='id identifier rubyid_file'>file</span> <span class='rparen'>)</span>
1405
+ <span class='id identifier rubyid_p'>p</span> <span class='op'>=</span> <span class='const'>Patman</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='id identifier rubyid_file'>file</span> <span class='rparen'>)</span>
1406
+ <span class='id identifier rubyid_p'>p</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span>
1407
+ <span class='id identifier rubyid_p'>p</span>
1408
+ <span class='kw'>end</span></pre>
1409
+ </td>
1410
+ </tr>
1411
+ </table>
1412
+ </div>
1413
+
1414
+ <div class="method_details ">
1415
+ <h3 class="signature " id="version-class_method">
1416
+
1417
+ + (<tt>Object</tt>) <strong>version</strong>
1418
+
1419
+
1420
+
1421
+
1422
+
1423
+ </h3><table class="source_code">
1424
+ <tr>
1425
+ <td>
1426
+ <pre class="lines">
1427
+
1428
+
1429
+ 3
1430
+ 4
1431
+ 5</pre>
1432
+ </td>
1433
+ <td>
1434
+ <pre class="code"><span class="info file"># File 'lib/version.rb', line 3</span>
1435
+
1436
+ <span class='kw'>def</span> <span class='const'>Patman</span><span class='period'>.</span><span class='id identifier rubyid_version'>version</span>
1437
+ <span class='const'>Patman</span><span class='op'>::</span><span class='const'>VERSION</span>
1438
+ <span class='kw'>end</span></pre>
1439
+ </td>
1440
+ </tr>
1441
+ </table>
1442
+ </div>
1443
+
1444
+ </div>
1445
+
1446
+ <div id="instance_method_details" class="method_details_list">
1447
+ <h2>Instance Method Details</h2>
1448
+
1449
+
1450
+ <div class="method_details first">
1451
+ <h3 class="signature first" id="[]-instance_method">
1452
+
1453
+ - (<tt>Object</tt>) <strong>[]</strong>(range)
1454
+
1455
+
1456
+
1457
+
1458
+
1459
+ </h3><div class="docstring">
1460
+ <div class="discussion">
1461
+
1462
+ <p>Reference <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content by range.</p>
1463
+
1464
+
1465
+ </div>
1466
+ </div>
1467
+ <div class="tags">
1468
+
1469
+
1470
+ </div><table class="source_code">
1471
+ <tr>
1472
+ <td>
1473
+ <pre class="lines">
1474
+
1475
+
1476
+ 194
1477
+ 195
1478
+ 196</pre>
1479
+ </td>
1480
+ <td>
1481
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 194</span>
1482
+
1483
+ <span class='kw'>def</span> <span class='op'>[]</span><span class='lparen'>(</span> <span class='id identifier rubyid_range'>range</span> <span class='rparen'>)</span>
1484
+ <span class='ivar'>@lines</span><span class='lbracket'>[</span> <span class='id identifier rubyid_range'>range</span> <span class='rbracket'>]</span>
1485
+ <span class='kw'>end</span></pre>
1486
+ </td>
1487
+ </tr>
1488
+ </table>
1489
+ </div>
1490
+
1491
+ <div class="method_details ">
1492
+ <h3 class="signature " id="append-instance_method">
1493
+
1494
+ - (<tt>Object</tt>) <strong>append</strong>(text = nil)
1495
+
1496
+
1497
+
1498
+
1499
+
1500
+ </h3><div class="docstring">
1501
+ <div class="discussion">
1502
+
1503
+ <p>Append after current position.</p>
1504
+
1505
+
1506
+ </div>
1507
+ </div>
1508
+ <div class="tags">
1509
+
1510
+
1511
+ </div><table class="source_code">
1512
+ <tr>
1513
+ <td>
1514
+ <pre class="lines">
1515
+
1516
+
1517
+ 263
1518
+ 264
1519
+ 265
1520
+ 266
1521
+ 267
1522
+ 268
1523
+ 269
1524
+ 270
1525
+ 271
1526
+ 272
1527
+ 273
1528
+ 274</pre>
1529
+ </td>
1530
+ <td>
1531
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 263</span>
1532
+
1533
+ <span class='kw'>def</span> <span class='id identifier rubyid_append'>append</span><span class='lparen'>(</span> <span class='id identifier rubyid_text'>text</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='rparen'>)</span>
1534
+ <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>true</span>
1535
+ <span class='kw'>if</span> <span class='id identifier rubyid_text'>text</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span> <span class='const'>Array</span>
1536
+ <span class='id identifier rubyid_text'>text</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_txt'>txt</span><span class='op'>|</span>
1537
+ <span class='id identifier rubyid_append'>append</span><span class='lparen'>(</span> <span class='id identifier rubyid_txt'>txt</span> <span class='rparen'>)</span>
1538
+ <span class='kw'>end</span>
1539
+ <span class='kw'>else</span>
1540
+ <span class='id identifier rubyid_step'>step</span>
1541
+ <span class='ivar'>@lines</span><span class='period'>.</span><span class='id identifier rubyid_insert'>insert</span><span class='lparen'>(</span> <span class='ivar'>@line</span><span class='comma'>,</span> <span class='id identifier rubyid_text'>text</span> <span class='rparen'>)</span>
1542
+ <span class='kw'>end</span>
1543
+ <span class='kw'>self</span>
1544
+ <span class='kw'>end</span></pre>
1545
+ </td>
1546
+ </tr>
1547
+ </table>
1548
+ </div>
1549
+
1550
+ <div class="method_details ">
1551
+ <h3 class="signature " id="blockline-instance_method">
1552
+
1553
+ - (<tt>Object</tt>) <strong>blockline</strong>
1554
+
1555
+
1556
+
1557
+
1558
+
1559
+ </h3><div class="docstring">
1560
+ <div class="discussion">
1561
+
1562
+ <p>Jump to line after block.</p>
1563
+
1564
+
1565
+ </div>
1566
+ </div>
1567
+ <div class="tags">
1568
+
1569
+
1570
+ </div><table class="source_code">
1571
+ <tr>
1572
+ <td>
1573
+ <pre class="lines">
1574
+
1575
+
1576
+ 176
1577
+ 177
1578
+ 178
1579
+ 179
1580
+ 180
1581
+ 181</pre>
1582
+ </td>
1583
+ <td>
1584
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 176</span>
1585
+
1586
+ <span class='kw'>def</span> <span class='id identifier rubyid_blockline'>blockline</span>
1587
+ <span class='kw'>if</span> <span class='ivar'>@blockline</span>
1588
+ <span class='ivar'>@line</span> <span class='op'>=</span> <span class='ivar'>@blockline</span>
1589
+ <span class='kw'>end</span>
1590
+ <span class='kw'>self</span>
1591
+ <span class='kw'>end</span></pre>
1592
+ </td>
1593
+ </tr>
1594
+ </table>
1595
+ </div>
1596
+
1597
+ <div class="method_details ">
1598
+ <h3 class="signature " id="clear-instance_method">
1599
+
1600
+ - (<tt>Object</tt>) <strong>clear</strong>
1601
+
1602
+
1603
+
1604
+
1605
+
1606
+ </h3><div class="docstring">
1607
+ <div class="discussion">
1608
+
1609
+ <p>Clear <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content and reset current line.</p>
1610
+
1611
+
1612
+ </div>
1613
+ </div>
1614
+ <div class="tags">
1615
+
1616
+
1617
+ </div><table class="source_code">
1618
+ <tr>
1619
+ <td>
1620
+ <pre class="lines">
1621
+
1622
+
1623
+ 296
1624
+ 297
1625
+ 298
1626
+ 299
1627
+ 300
1628
+ 301</pre>
1629
+ </td>
1630
+ <td>
1631
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 296</span>
1632
+
1633
+ <span class='kw'>def</span> <span class='id identifier rubyid_clear'>clear</span>
1634
+ <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>true</span>
1635
+ <span class='ivar'>@lines</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1636
+ <span class='ivar'>@line</span> <span class='op'>=</span> <span class='int'>0</span>
1637
+ <span class='kw'>self</span>
1638
+ <span class='kw'>end</span></pre>
1639
+ </td>
1640
+ </tr>
1641
+ </table>
1642
+ </div>
1643
+
1644
+ <div class="method_details ">
1645
+ <h3 class="signature " id="copy-instance_method">
1646
+
1647
+ - (<tt>Object</tt>) <strong>copy</strong>(file)
1648
+
1649
+
1650
+
1651
+
1652
+
1653
+ </h3><div class="docstring">
1654
+ <div class="discussion">
1655
+
1656
+ <p>Copy <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content to file.</p>
1657
+
1658
+
1659
+ </div>
1660
+ </div>
1661
+ <div class="tags">
1662
+
1663
+
1664
+ </div><table class="source_code">
1665
+ <tr>
1666
+ <td>
1667
+ <pre class="lines">
1668
+
1669
+
1670
+ 142
1671
+ 143
1672
+ 144
1673
+ 145</pre>
1674
+ </td>
1675
+ <td>
1676
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 142</span>
1677
+
1678
+ <span class='kw'>def</span> <span class='id identifier rubyid_copy'>copy</span><span class='lparen'>(</span> <span class='id identifier rubyid_file'>file</span> <span class='rparen'>)</span>
1679
+ <span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span> <span class='id identifier rubyid_file'>file</span> <span class='rparen'>)</span>
1680
+ <span class='kw'>self</span>
1681
+ <span class='kw'>end</span></pre>
1682
+ </td>
1683
+ </tr>
1684
+ </table>
1685
+ </div>
1686
+
1687
+ <div class="method_details ">
1688
+ <h3 class="signature " id="delete-instance_method">
1689
+
1690
+ - (<tt>Object</tt>) <strong>delete</strong>(count = 1)
1691
+
1692
+
1693
+
1694
+
1695
+
1696
+ </h3><div class="docstring">
1697
+ <div class="discussion">
1698
+
1699
+ <p>Delete current line.</p>
1700
+
1701
+
1702
+ </div>
1703
+ </div>
1704
+ <div class="tags">
1705
+
1706
+
1707
+ </div><table class="source_code">
1708
+ <tr>
1709
+ <td>
1710
+ <pre class="lines">
1711
+
1712
+
1713
+ 277
1714
+ 278
1715
+ 279
1716
+ 280
1717
+ 281
1718
+ 282
1719
+ 283</pre>
1720
+ </td>
1721
+ <td>
1722
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 277</span>
1723
+
1724
+ <span class='kw'>def</span> <span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span> <span class='id identifier rubyid_count'>count</span> <span class='op'>=</span> <span class='int'>1</span> <span class='rparen'>)</span>
1725
+ <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>true</span>
1726
+ <span class='id identifier rubyid_count'>count</span><span class='period'>.</span><span class='id identifier rubyid_times'>times</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span>
1727
+ <span class='ivar'>@lines</span><span class='period'>.</span><span class='id identifier rubyid_delete_at'>delete_at</span><span class='lparen'>(</span> <span class='ivar'>@line</span> <span class='rparen'>)</span>
1728
+ <span class='kw'>end</span>
1729
+ <span class='kw'>self</span>
1730
+ <span class='kw'>end</span></pre>
1731
+ </td>
1732
+ </tr>
1733
+ </table>
1734
+ </div>
1735
+
1736
+ <div class="method_details ">
1737
+ <h3 class="signature " id="do_all-instance_method">
1738
+
1739
+ - (<tt>Object</tt>) <strong>do_all</strong>(&amp;blk)
1740
+
1741
+
1742
+
1743
+
1744
+
1745
+ </h3><div class="docstring">
1746
+ <div class="discussion">
1747
+
1748
+ <p>Execute given block for all lines, i.e. all positions. Block parameter is
1749
+ <span class='object_link'><a href="" title="Patman (class)">Patman</a></span>.</p>
1750
+
1751
+
1752
+ </div>
1753
+ </div>
1754
+ <div class="tags">
1755
+
1756
+
1757
+ </div><table class="source_code">
1758
+ <tr>
1759
+ <td>
1760
+ <pre class="lines">
1761
+
1762
+
1763
+ 377
1764
+ 378
1765
+ 379</pre>
1766
+ </td>
1767
+ <td>
1768
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 377</span>
1769
+
1770
+ <span class='kw'>def</span> <span class='id identifier rubyid_do_all'>do_all</span><span class='lparen'>(</span> <span class='op'>&amp;</span><span class='id identifier rubyid_blk'>blk</span> <span class='rparen'>)</span>
1771
+ <span class='id identifier rubyid_do_for'>do_for</span><span class='lparen'>(</span> <span class='int'>1</span><span class='comma'>,</span> <span class='id identifier rubyid_length'>length</span><span class='op'>-</span><span class='int'>1</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_blk'>blk</span> <span class='rparen'>)</span>
1772
+ <span class='kw'>end</span></pre>
1773
+ </td>
1774
+ </tr>
1775
+ </table>
1776
+ </div>
1777
+
1778
+ <div class="method_details ">
1779
+ <h3 class="signature " id="do_for-instance_method">
1780
+
1781
+ - (<tt>Object</tt>) <strong>do_for</strong>(start, count, &amp;blk)
1782
+
1783
+
1784
+
1785
+
1786
+
1787
+ </h3><div class="docstring">
1788
+ <div class="discussion">
1789
+
1790
+ <p>Execute given block starting from start by count, and update position.</p>
1791
+
1792
+
1793
+ </div>
1794
+ </div>
1795
+ <div class="tags">
1796
+
1797
+
1798
+ </div><table class="source_code">
1799
+ <tr>
1800
+ <td>
1801
+ <pre class="lines">
1802
+
1803
+
1804
+ 389
1805
+ 390
1806
+ 391
1807
+ 392
1808
+ 393
1809
+ 394
1810
+ 395
1811
+ 396
1812
+ 397
1813
+ 398
1814
+ 399</pre>
1815
+ </td>
1816
+ <td>
1817
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 389</span>
1818
+
1819
+ <span class='kw'>def</span> <span class='id identifier rubyid_do_for'>do_for</span><span class='lparen'>(</span> <span class='id identifier rubyid_start'>start</span><span class='comma'>,</span> <span class='id identifier rubyid_count'>count</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_blk'>blk</span> <span class='rparen'>)</span>
1820
+ <span class='id identifier rubyid_line'>line</span> <span class='op'>=</span> <span class='ivar'>@line</span>
1821
+ <span class='ivar'>@line</span> <span class='op'>=</span> <span class='id identifier rubyid_start'>start</span><span class='op'>-</span><span class='int'>1</span>
1822
+ <span class='id identifier rubyid_count'>count</span><span class='period'>.</span><span class='id identifier rubyid_times'>times</span> <span class='kw'>do</span>
1823
+ <span class='kw'>yield</span> <span class='kw'>self</span>
1824
+ <span class='ivar'>@line</span> <span class='op'>+=</span> <span class='int'>1</span>
1825
+ <span class='kw'>end</span>
1826
+ <span class='ivar'>@blockline</span> <span class='op'>=</span> <span class='ivar'>@line</span>
1827
+ <span class='ivar'>@line</span> <span class='op'>=</span> <span class='id identifier rubyid_line'>line</span>
1828
+ <span class='kw'>self</span>
1829
+ <span class='kw'>end</span></pre>
1830
+ </td>
1831
+ </tr>
1832
+ </table>
1833
+ </div>
1834
+
1835
+ <div class="method_details ">
1836
+ <h3 class="signature " id="do_range-instance_method">
1837
+
1838
+ - (<tt>Object</tt>) <strong>do_range</strong>(start, stop, &amp;blk)
1839
+
1840
+
1841
+
1842
+
1843
+
1844
+ </h3><div class="docstring">
1845
+ <div class="discussion">
1846
+
1847
+ <p>Execute given block between start and stop positions, and update position.</p>
1848
+
1849
+
1850
+ </div>
1851
+ </div>
1852
+ <div class="tags">
1853
+
1854
+
1855
+ </div><table class="source_code">
1856
+ <tr>
1857
+ <td>
1858
+ <pre class="lines">
1859
+
1860
+
1861
+ 383
1862
+ 384
1863
+ 385</pre>
1864
+ </td>
1865
+ <td>
1866
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 383</span>
1867
+
1868
+ <span class='kw'>def</span> <span class='id identifier rubyid_do_range'>do_range</span><span class='lparen'>(</span> <span class='id identifier rubyid_start'>start</span><span class='comma'>,</span> <span class='id identifier rubyid_stop'>stop</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_blk'>blk</span> <span class='rparen'>)</span>
1869
+ <span class='id identifier rubyid_do_for'>do_for</span><span class='lparen'>(</span> <span class='id identifier rubyid_start'>start</span><span class='comma'>,</span> <span class='lparen'>(</span><span class='id identifier rubyid_stop'>stop</span><span class='op'>-</span><span class='id identifier rubyid_start'>start</span><span class='op'>+</span><span class='int'>1</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_blk'>blk</span> <span class='rparen'>)</span>
1870
+ <span class='kw'>end</span></pre>
1871
+ </td>
1872
+ </tr>
1873
+ </table>
1874
+ </div>
1875
+
1876
+ <div class="method_details ">
1877
+ <h3 class="signature " id="edit-instance_method">
1878
+
1879
+ - (<tt>Object</tt>) <strong>edit</strong>
1880
+
1881
+
1882
+
1883
+
1884
+
1885
+ </h3><div class="docstring">
1886
+ <div class="discussion">
1887
+
1888
+ <p>Mark content modified (explicit).</p>
1889
+
1890
+
1891
+ </div>
1892
+ </div>
1893
+ <div class="tags">
1894
+
1895
+
1896
+ </div><table class="source_code">
1897
+ <tr>
1898
+ <td>
1899
+ <pre class="lines">
1900
+
1901
+
1902
+ 332
1903
+ 333
1904
+ 334</pre>
1905
+ </td>
1906
+ <td>
1907
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 332</span>
1908
+
1909
+ <span class='kw'>def</span> <span class='id identifier rubyid_edit'>edit</span>
1910
+ <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>true</span>
1911
+ <span class='kw'>end</span></pre>
1912
+ </td>
1913
+ </tr>
1914
+ </table>
1915
+ </div>
1916
+
1917
+ <div class="method_details ">
1918
+ <h3 class="signature " id="edited?-instance_method">
1919
+
1920
+ - (<tt>Boolean</tt>) <strong>edited?</strong>
1921
+
1922
+
1923
+
1924
+
1925
+
1926
+ </h3><div class="docstring">
1927
+ <div class="discussion">
1928
+
1929
+ <p>Return true if content is modified.</p>
1930
+
1931
+
1932
+ </div>
1933
+ </div>
1934
+ <div class="tags">
1935
+
1936
+ <p class="tag_title">Returns:</p>
1937
+ <ul class="return">
1938
+
1939
+ <li>
1940
+
1941
+
1942
+ <span class='type'>(<tt>Boolean</tt>)</span>
1943
+
1944
+
1945
+
1946
+ </li>
1947
+
1948
+ </ul>
1949
+
1950
+ </div><table class="source_code">
1951
+ <tr>
1952
+ <td>
1953
+ <pre class="lines">
1954
+
1955
+
1956
+ 337
1957
+ 338
1958
+ 339</pre>
1959
+ </td>
1960
+ <td>
1961
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 337</span>
1962
+
1963
+ <span class='kw'>def</span> <span class='id identifier rubyid_edited?'>edited?</span>
1964
+ <span class='ivar'>@edited</span>
1965
+ <span class='kw'>end</span></pre>
1966
+ </td>
1967
+ </tr>
1968
+ </table>
1969
+ </div>
1970
+
1971
+ <div class="method_details ">
1972
+ <h3 class="signature " id="excursion-instance_method">
1973
+
1974
+ - (<tt>Object</tt>) <strong>excursion</strong>(&amp;blk)
1975
+
1976
+
1977
+
1978
+
1979
+
1980
+ </h3><div class="docstring">
1981
+ <div class="discussion">
1982
+
1983
+ <p>Execute block, retain current position, and return block value.</p>
1984
+
1985
+
1986
+ </div>
1987
+ </div>
1988
+ <div class="tags">
1989
+
1990
+
1991
+ </div><table class="source_code">
1992
+ <tr>
1993
+ <td>
1994
+ <pre class="lines">
1995
+
1996
+
1997
+ 342
1998
+ 343
1999
+ 344
2000
+ 345
2001
+ 346
2002
+ 347</pre>
2003
+ </td>
2004
+ <td>
2005
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 342</span>
2006
+
2007
+ <span class='kw'>def</span> <span class='id identifier rubyid_excursion'>excursion</span><span class='lparen'>(</span> <span class='op'>&amp;</span><span class='id identifier rubyid_blk'>blk</span> <span class='rparen'>)</span>
2008
+ <span class='id identifier rubyid_line'>line</span> <span class='op'>=</span> <span class='ivar'>@line</span>
2009
+ <span class='id identifier rubyid_ret'>ret</span> <span class='op'>=</span> <span class='id identifier rubyid_instance_eval'>instance_eval</span><span class='lparen'>(</span> <span class='op'>&amp;</span><span class='id identifier rubyid_blk'>blk</span> <span class='rparen'>)</span>
2010
+ <span class='ivar'>@line</span> <span class='op'>=</span> <span class='id identifier rubyid_line'>line</span>
2011
+ <span class='id identifier rubyid_ret'>ret</span>
2012
+ <span class='kw'>end</span></pre>
2013
+ </td>
2014
+ </tr>
2015
+ </table>
2016
+ </div>
2017
+
2018
+ <div class="method_details ">
2019
+ <h3 class="signature " id="filename-instance_method">
2020
+
2021
+ - (<tt>Object</tt>) <strong>filename</strong>
2022
+
2023
+
2024
+
2025
+
2026
+
2027
+ </h3><div class="docstring">
2028
+ <div class="discussion">
2029
+
2030
+ <p>Return <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> file name.</p>
2031
+
2032
+
2033
+ </div>
2034
+ </div>
2035
+ <div class="tags">
2036
+
2037
+
2038
+ </div><table class="source_code">
2039
+ <tr>
2040
+ <td>
2041
+ <pre class="lines">
2042
+
2043
+
2044
+ 327
2045
+ 328
2046
+ 329</pre>
2047
+ </td>
2048
+ <td>
2049
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 327</span>
2050
+
2051
+ <span class='kw'>def</span> <span class='id identifier rubyid_filename'>filename</span>
2052
+ <span class='ivar'>@file</span>
2053
+ <span class='kw'>end</span></pre>
2054
+ </td>
2055
+ </tr>
2056
+ </table>
2057
+ </div>
2058
+
2059
+ <div class="method_details ">
2060
+ <h3 class="signature " id="find-instance_method">
2061
+
2062
+ - (<tt>Object</tt>) <strong>find</strong>(re_or_str, forward = true)
2063
+
2064
+
2065
+
2066
+
2067
+
2068
+ </h3><div class="docstring">
2069
+ <div class="discussion">
2070
+
2071
+ <p>Find Regexp or literal string forwards or backwards. Return true on
2072
+ success.</p>
2073
+
2074
+
2075
+ </div>
2076
+ </div>
2077
+ <div class="tags">
2078
+
2079
+
2080
+ </div><table class="source_code">
2081
+ <tr>
2082
+ <td>
2083
+ <pre class="lines">
2084
+
2085
+
2086
+ 305
2087
+ 306
2088
+ 307
2089
+ 308
2090
+ 309
2091
+ 310
2092
+ 311
2093
+ 312</pre>
2094
+ </td>
2095
+ <td>
2096
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 305</span>
2097
+
2098
+ <span class='kw'>def</span> <span class='id identifier rubyid_find'>find</span><span class='lparen'>(</span> <span class='id identifier rubyid_re_or_str'>re_or_str</span><span class='comma'>,</span> <span class='id identifier rubyid_forward'>forward</span> <span class='op'>=</span> <span class='kw'>true</span> <span class='rparen'>)</span>
2099
+ <span class='kw'>begin</span>
2100
+ <span class='ivar'>@line</span> <span class='op'>=</span> <span class='id identifier rubyid_search_with_exception'>search_with_exception</span><span class='lparen'>(</span> <span class='id identifier rubyid_re_or_str'>re_or_str</span><span class='comma'>,</span> <span class='id identifier rubyid_forward'>forward</span> <span class='rparen'>)</span>
2101
+ <span class='kw'>true</span>
2102
+ <span class='kw'>rescue</span>
2103
+ <span class='kw'>false</span>
2104
+ <span class='kw'>end</span>
2105
+ <span class='kw'>end</span></pre>
2106
+ </td>
2107
+ </tr>
2108
+ </table>
2109
+ </div>
2110
+
2111
+ <div class="method_details ">
2112
+ <h3 class="signature " id="firstline-instance_method">
2113
+
2114
+ - (<tt>Object</tt>) <strong>firstline</strong>
2115
+
2116
+
2117
+
2118
+
2119
+
2120
+ </h3><div class="docstring">
2121
+ <div class="discussion">
2122
+
2123
+ <p>Jump to first line.</p>
2124
+
2125
+
2126
+ </div>
2127
+ </div>
2128
+ <div class="tags">
2129
+
2130
+
2131
+ </div><table class="source_code">
2132
+ <tr>
2133
+ <td>
2134
+ <pre class="lines">
2135
+
2136
+
2137
+ 164
2138
+ 165
2139
+ 166
2140
+ 167</pre>
2141
+ </td>
2142
+ <td>
2143
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 164</span>
2144
+
2145
+ <span class='kw'>def</span> <span class='id identifier rubyid_firstline'>firstline</span>
2146
+ <span class='ivar'>@line</span> <span class='op'>=</span> <span class='int'>0</span>
2147
+ <span class='kw'>self</span>
2148
+ <span class='kw'>end</span></pre>
2149
+ </td>
2150
+ </tr>
2151
+ </table>
2152
+ </div>
2153
+
2154
+ <div class="method_details ">
2155
+ <h3 class="signature " id="get-instance_method">
2156
+
2157
+ - (<tt>Object</tt>) <strong>get</strong>(count = 1)
2158
+
2159
+
2160
+
2161
+
2162
+
2163
+ </h3><div class="docstring">
2164
+ <div class="discussion">
2165
+
2166
+ <p>Get current line or lines by count.</p>
2167
+
2168
+
2169
+ </div>
2170
+ </div>
2171
+ <div class="tags">
2172
+
2173
+
2174
+ </div><table class="source_code">
2175
+ <tr>
2176
+ <td>
2177
+ <pre class="lines">
2178
+
2179
+
2180
+ 199
2181
+ 200
2182
+ 201
2183
+ 202
2184
+ 203
2185
+ 204
2186
+ 205</pre>
2187
+ </td>
2188
+ <td>
2189
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 199</span>
2190
+
2191
+ <span class='kw'>def</span> <span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span> <span class='id identifier rubyid_count'>count</span> <span class='op'>=</span> <span class='int'>1</span> <span class='rparen'>)</span>
2192
+ <span class='kw'>if</span> <span class='id identifier rubyid_count'>count</span> <span class='op'>==</span> <span class='int'>1</span>
2193
+ <span class='ivar'>@lines</span><span class='lbracket'>[</span> <span class='ivar'>@line</span> <span class='rbracket'>]</span>
2194
+ <span class='kw'>else</span>
2195
+ <span class='ivar'>@lines</span><span class='lbracket'>[</span> <span class='ivar'>@line</span> <span class='op'>..</span> <span class='lparen'>(</span><span class='ivar'>@line</span><span class='op'>+</span><span class='id identifier rubyid_count'>count</span><span class='op'>-</span><span class='int'>1</span><span class='rparen'>)</span> <span class='rbracket'>]</span>
2196
+ <span class='kw'>end</span>
2197
+ <span class='kw'>end</span></pre>
2198
+ </td>
2199
+ </tr>
2200
+ </table>
2201
+ </div>
2202
+
2203
+ <div class="method_details ">
2204
+ <h3 class="signature " id="get_for-instance_method">
2205
+
2206
+ - (<tt>Object</tt>) <strong>get_for</strong>(start, count)
2207
+
2208
+
2209
+
2210
+
2211
+
2212
+ </h3><div class="docstring">
2213
+ <div class="discussion">
2214
+
2215
+ <p>Get lines starting from start by count.</p>
2216
+
2217
+
2218
+ </div>
2219
+ </div>
2220
+ <div class="tags">
2221
+
2222
+
2223
+ </div><table class="source_code">
2224
+ <tr>
2225
+ <td>
2226
+ <pre class="lines">
2227
+
2228
+
2229
+ 407
2230
+ 408
2231
+ 409</pre>
2232
+ </td>
2233
+ <td>
2234
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 407</span>
2235
+
2236
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_for'>get_for</span><span class='lparen'>(</span> <span class='id identifier rubyid_start'>start</span><span class='comma'>,</span> <span class='id identifier rubyid_count'>count</span> <span class='rparen'>)</span>
2237
+ <span class='ivar'>@lines</span><span class='lbracket'>[</span> <span class='lparen'>(</span><span class='id identifier rubyid_start'>start</span><span class='op'>-</span><span class='int'>1</span><span class='rparen'>)</span> <span class='op'>...</span> <span class='lparen'>(</span><span class='id identifier rubyid_start'>start</span><span class='op'>-</span><span class='int'>1</span><span class='op'>+</span><span class='id identifier rubyid_count'>count</span><span class='rparen'>)</span> <span class='rbracket'>]</span>
2238
+ <span class='kw'>end</span></pre>
2239
+ </td>
2240
+ </tr>
2241
+ </table>
2242
+ </div>
2243
+
2244
+ <div class="method_details ">
2245
+ <h3 class="signature " id="get_range-instance_method">
2246
+
2247
+ - (<tt>Object</tt>) <strong>get_range</strong>(start, stop)
2248
+
2249
+
2250
+
2251
+
2252
+
2253
+ </h3><div class="docstring">
2254
+ <div class="discussion">
2255
+
2256
+ <p>Get lines between start and stop positions inclusive.</p>
2257
+
2258
+
2259
+ </div>
2260
+ </div>
2261
+ <div class="tags">
2262
+
2263
+
2264
+ </div><table class="source_code">
2265
+ <tr>
2266
+ <td>
2267
+ <pre class="lines">
2268
+
2269
+
2270
+ 402
2271
+ 403
2272
+ 404</pre>
2273
+ </td>
2274
+ <td>
2275
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 402</span>
2276
+
2277
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_range'>get_range</span><span class='lparen'>(</span> <span class='id identifier rubyid_start'>start</span><span class='comma'>,</span> <span class='id identifier rubyid_stop'>stop</span> <span class='rparen'>)</span>
2278
+ <span class='ivar'>@lines</span><span class='lbracket'>[</span> <span class='lparen'>(</span><span class='id identifier rubyid_start'>start</span><span class='op'>-</span><span class='int'>1</span><span class='rparen'>)</span> <span class='op'>..</span> <span class='lparen'>(</span><span class='id identifier rubyid_stop'>stop</span><span class='op'>-</span><span class='int'>1</span><span class='rparen'>)</span> <span class='rbracket'>]</span>
2279
+ <span class='kw'>end</span></pre>
2280
+ </td>
2281
+ </tr>
2282
+ </table>
2283
+ </div>
2284
+
2285
+ <div class="method_details ">
2286
+ <h3 class="signature " id="insert-instance_method">
2287
+
2288
+ - (<tt>Object</tt>) <strong>insert</strong>(text = nil)
2289
+
2290
+
2291
+
2292
+
2293
+
2294
+ </h3><div class="docstring">
2295
+ <div class="discussion">
2296
+
2297
+ <p>Insert line or lines (Array) to current position.</p>
2298
+
2299
+
2300
+ </div>
2301
+ </div>
2302
+ <div class="tags">
2303
+
2304
+
2305
+ </div><table class="source_code">
2306
+ <tr>
2307
+ <td>
2308
+ <pre class="lines">
2309
+
2310
+
2311
+ 247
2312
+ 248
2313
+ 249
2314
+ 250
2315
+ 251
2316
+ 252
2317
+ 253
2318
+ 254
2319
+ 255
2320
+ 256
2321
+ 257
2322
+ 258
2323
+ 259
2324
+ 260</pre>
2325
+ </td>
2326
+ <td>
2327
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 247</span>
2328
+
2329
+ <span class='kw'>def</span> <span class='id identifier rubyid_insert'>insert</span><span class='lparen'>(</span> <span class='id identifier rubyid_text'>text</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='rparen'>)</span>
2330
+ <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>true</span>
2331
+ <span class='kw'>if</span> <span class='id identifier rubyid_text'>text</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span> <span class='const'>Array</span>
2332
+ <span class='id identifier rubyid_line'>line</span> <span class='op'>=</span> <span class='ivar'>@line</span>
2333
+ <span class='id identifier rubyid_step'>step</span> <span class='op'>-</span><span class='int'>1</span>
2334
+ <span class='id identifier rubyid_text'>text</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_txt'>txt</span><span class='op'>|</span>
2335
+ <span class='id identifier rubyid_append'>append</span><span class='lparen'>(</span> <span class='id identifier rubyid_txt'>txt</span> <span class='rparen'>)</span>
2336
+ <span class='kw'>end</span>
2337
+ <span class='ivar'>@line</span> <span class='op'>=</span> <span class='id identifier rubyid_line'>line</span>
2338
+ <span class='kw'>else</span>
2339
+ <span class='ivar'>@lines</span><span class='period'>.</span><span class='id identifier rubyid_insert'>insert</span><span class='lparen'>(</span> <span class='ivar'>@line</span><span class='comma'>,</span> <span class='id identifier rubyid_text'>text</span> <span class='rparen'>)</span>
2340
+ <span class='kw'>end</span>
2341
+ <span class='kw'>self</span>
2342
+ <span class='kw'>end</span></pre>
2343
+ </td>
2344
+ </tr>
2345
+ </table>
2346
+ </div>
2347
+
2348
+ <div class="method_details ">
2349
+ <h3 class="signature " id="insertfile-instance_method">
2350
+
2351
+ - (<tt>Object</tt>) <strong>insertfile</strong>(file)
2352
+
2353
+
2354
+
2355
+
2356
+
2357
+ </h3><div class="docstring">
2358
+ <div class="discussion">
2359
+
2360
+ <p>Insert file to current position.</p>
2361
+
2362
+
2363
+ </div>
2364
+ </div>
2365
+ <div class="tags">
2366
+
2367
+
2368
+ </div><table class="source_code">
2369
+ <tr>
2370
+ <td>
2371
+ <pre class="lines">
2372
+
2373
+
2374
+ 286
2375
+ 287
2376
+ 288
2377
+ 289
2378
+ 290
2379
+ 291
2380
+ 292
2381
+ 293</pre>
2382
+ </td>
2383
+ <td>
2384
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 286</span>
2385
+
2386
+ <span class='kw'>def</span> <span class='id identifier rubyid_insertfile'>insertfile</span><span class='lparen'>(</span> <span class='id identifier rubyid_file'>file</span> <span class='rparen'>)</span>
2387
+ <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>true</span>
2388
+ <span class='id identifier rubyid_step'>step</span> <span class='op'>-</span><span class='int'>1</span>
2389
+ <span class='id identifier rubyid_read_clean'>read_clean</span><span class='lparen'>(</span> <span class='id identifier rubyid_file'>file</span> <span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_line'>line</span><span class='op'>|</span>
2390
+ <span class='id identifier rubyid_append'>append</span> <span class='id identifier rubyid_line'>line</span>
2391
+ <span class='kw'>end</span>
2392
+ <span class='kw'>self</span>
2393
+ <span class='kw'>end</span></pre>
2394
+ </td>
2395
+ </tr>
2396
+ </table>
2397
+ </div>
2398
+
2399
+ <div class="method_details ">
2400
+ <h3 class="signature " id="lastline-instance_method">
2401
+
2402
+ - (<tt>Object</tt>) <strong>lastline</strong>
2403
+
2404
+
2405
+
2406
+
2407
+
2408
+ </h3><div class="docstring">
2409
+ <div class="discussion">
2410
+
2411
+ <p>Jump to last line.</p>
2412
+
2413
+
2414
+ </div>
2415
+ </div>
2416
+ <div class="tags">
2417
+
2418
+
2419
+ </div><table class="source_code">
2420
+ <tr>
2421
+ <td>
2422
+ <pre class="lines">
2423
+
2424
+
2425
+ 170
2426
+ 171
2427
+ 172
2428
+ 173</pre>
2429
+ </td>
2430
+ <td>
2431
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 170</span>
2432
+
2433
+ <span class='kw'>def</span> <span class='id identifier rubyid_lastline'>lastline</span>
2434
+ <span class='ivar'>@line</span> <span class='op'>=</span> <span class='ivar'>@lines</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='op'>-</span><span class='int'>1</span>
2435
+ <span class='kw'>self</span>
2436
+ <span class='kw'>end</span></pre>
2437
+ </td>
2438
+ </tr>
2439
+ </table>
2440
+ </div>
2441
+
2442
+ <div class="method_details ">
2443
+ <h3 class="signature " id="length-instance_method">
2444
+
2445
+ - (<tt>Object</tt>) <strong>length</strong>
2446
+
2447
+
2448
+
2449
+
2450
+
2451
+ </h3><div class="docstring">
2452
+ <div class="discussion">
2453
+
2454
+ <p>Return line count of <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content.</p>
2455
+
2456
+
2457
+ </div>
2458
+ </div>
2459
+ <div class="tags">
2460
+
2461
+
2462
+ </div><table class="source_code">
2463
+ <tr>
2464
+ <td>
2465
+ <pre class="lines">
2466
+
2467
+
2468
+ 322
2469
+ 323
2470
+ 324</pre>
2471
+ </td>
2472
+ <td>
2473
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 322</span>
2474
+
2475
+ <span class='kw'>def</span> <span class='id identifier rubyid_length'>length</span>
2476
+ <span class='ivar'>@lines</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span>
2477
+ <span class='kw'>end</span></pre>
2478
+ </td>
2479
+ </tr>
2480
+ </table>
2481
+ </div>
2482
+
2483
+ <div class="method_details ">
2484
+ <h3 class="signature " id="line-instance_method">
2485
+
2486
+ - (<tt>Object</tt>) <strong>line</strong>(arg = nil)
2487
+
2488
+
2489
+
2490
+
2491
+
2492
+ </h3><div class="docstring">
2493
+ <div class="discussion">
2494
+
2495
+ <p>Return or set line.</p>
2496
+
2497
+
2498
+ </div>
2499
+ </div>
2500
+ <div class="tags">
2501
+
2502
+
2503
+ </div><table class="source_code">
2504
+ <tr>
2505
+ <td>
2506
+ <pre class="lines">
2507
+
2508
+
2509
+ 148
2510
+ 149
2511
+ 150
2512
+ 151
2513
+ 152
2514
+ 153
2515
+ 154
2516
+ 155</pre>
2517
+ </td>
2518
+ <td>
2519
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 148</span>
2520
+
2521
+ <span class='kw'>def</span> <span class='id identifier rubyid_line'>line</span><span class='lparen'>(</span> <span class='id identifier rubyid_arg'>arg</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='rparen'>)</span>
2522
+ <span class='kw'>if</span> <span class='id identifier rubyid_arg'>arg</span>
2523
+ <span class='ivar'>@line</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_arg'>arg</span><span class='op'>-</span><span class='int'>1</span><span class='rparen'>)</span>
2524
+ <span class='kw'>self</span>
2525
+ <span class='kw'>else</span>
2526
+ <span class='ivar'>@line</span><span class='op'>+</span><span class='int'>1</span>
2527
+ <span class='kw'>end</span>
2528
+ <span class='kw'>end</span></pre>
2529
+ </td>
2530
+ </tr>
2531
+ </table>
2532
+ </div>
2533
+
2534
+ <div class="method_details ">
2535
+ <h3 class="signature " id="lines-instance_method">
2536
+
2537
+ - (<tt>Object</tt>) <strong>lines</strong>(arg = nil)
2538
+
2539
+
2540
+
2541
+
2542
+
2543
+ </h3><div class="docstring">
2544
+ <div class="discussion">
2545
+
2546
+ <p>Get or set all <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content.</p>
2547
+
2548
+
2549
+ </div>
2550
+ </div>
2551
+ <div class="tags">
2552
+
2553
+
2554
+ </div><table class="source_code">
2555
+ <tr>
2556
+ <td>
2557
+ <pre class="lines">
2558
+
2559
+
2560
+ 184
2561
+ 185
2562
+ 186
2563
+ 187
2564
+ 188
2565
+ 189
2566
+ 190
2567
+ 191</pre>
2568
+ </td>
2569
+ <td>
2570
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 184</span>
2571
+
2572
+ <span class='kw'>def</span> <span class='id identifier rubyid_lines'>lines</span><span class='lparen'>(</span> <span class='id identifier rubyid_arg'>arg</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='rparen'>)</span>
2573
+ <span class='kw'>if</span> <span class='id identifier rubyid_arg'>arg</span>
2574
+ <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>true</span>
2575
+ <span class='ivar'>@lines</span> <span class='op'>=</span> <span class='id identifier rubyid_arg'>arg</span>
2576
+ <span class='kw'>else</span>
2577
+ <span class='ivar'>@lines</span>
2578
+ <span class='kw'>end</span>
2579
+ <span class='kw'>end</span></pre>
2580
+ </td>
2581
+ </tr>
2582
+ </table>
2583
+ </div>
2584
+
2585
+ <div class="method_details ">
2586
+ <h3 class="signature " id="mark-instance_method">
2587
+
2588
+ - (<tt>Object</tt>) <strong>mark</strong>(tag = nil)
2589
+
2590
+
2591
+
2592
+
2593
+
2594
+ </h3><div class="docstring">
2595
+ <div class="discussion">
2596
+
2597
+ <p>Mark (store) current position to default or to named mark.</p>
2598
+
2599
+
2600
+ </div>
2601
+ </div>
2602
+ <div class="tags">
2603
+
2604
+
2605
+ </div><table class="source_code">
2606
+ <tr>
2607
+ <td>
2608
+ <pre class="lines">
2609
+
2610
+
2611
+ 350
2612
+ 351
2613
+ 352
2614
+ 353
2615
+ 354
2616
+ 355
2617
+ 356
2618
+ 357
2619
+ 358</pre>
2620
+ </td>
2621
+ <td>
2622
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 350</span>
2623
+
2624
+ <span class='kw'>def</span> <span class='id identifier rubyid_mark'>mark</span><span class='lparen'>(</span> <span class='id identifier rubyid_tag'>tag</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='rparen'>)</span>
2625
+ <span class='kw'>if</span> <span class='id identifier rubyid_tag'>tag</span>
2626
+ <span class='ivar'>@marks</span><span class='lbracket'>[</span> <span class='id identifier rubyid_tag'>tag</span> <span class='rbracket'>]</span> <span class='op'>=</span> <span class='ivar'>@line</span><span class='op'>+</span><span class='int'>1</span>
2627
+ <span class='kw'>self</span>
2628
+ <span class='kw'>else</span>
2629
+ <span class='ivar'>@mark</span> <span class='op'>=</span> <span class='ivar'>@line</span><span class='op'>+</span><span class='int'>1</span>
2630
+ <span class='kw'>self</span>
2631
+ <span class='kw'>end</span>
2632
+ <span class='kw'>end</span></pre>
2633
+ </td>
2634
+ </tr>
2635
+ </table>
2636
+ </div>
2637
+
2638
+ <div class="method_details ">
2639
+ <h3 class="signature " id="peek-instance_method">
2640
+
2641
+ - (<tt>Object</tt>) <strong>peek</strong>(count = 0)
2642
+
2643
+
2644
+
2645
+
2646
+
2647
+ </h3><div class="docstring">
2648
+ <div class="discussion">
2649
+
2650
+ <p>View line content around current position (by count).</p>
2651
+
2652
+
2653
+ </div>
2654
+ </div>
2655
+ <div class="tags">
2656
+
2657
+
2658
+ </div><table class="source_code">
2659
+ <tr>
2660
+ <td>
2661
+ <pre class="lines">
2662
+
2663
+
2664
+ 412
2665
+ 413
2666
+ 414
2667
+ 415</pre>
2668
+ </td>
2669
+ <td>
2670
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 412</span>
2671
+
2672
+ <span class='kw'>def</span> <span class='id identifier rubyid_peek'>peek</span><span class='lparen'>(</span> <span class='id identifier rubyid_count'>count</span> <span class='op'>=</span> <span class='int'>0</span> <span class='rparen'>)</span>
2673
+ <span class='id identifier rubyid_view_range'>view_range</span><span class='lparen'>(</span> <span class='ivar'>@line</span><span class='op'>-</span><span class='id identifier rubyid_count'>count</span><span class='comma'>,</span> <span class='ivar'>@line</span><span class='op'>+</span><span class='id identifier rubyid_count'>count</span><span class='op'>+</span><span class='int'>1</span> <span class='rparen'>)</span>
2674
+ <span class='kw'>nil</span>
2675
+ <span class='kw'>end</span></pre>
2676
+ </td>
2677
+ </tr>
2678
+ </table>
2679
+ </div>
2680
+
2681
+ <div class="method_details ">
2682
+ <h3 class="signature " id="peek_ln-instance_method">
2683
+
2684
+ - (<tt>Object</tt>) <strong>peek_ln</strong>(count = 0)
2685
+
2686
+
2687
+
2688
+
2689
+
2690
+ </h3><div class="docstring">
2691
+ <div class="discussion">
2692
+
2693
+ <p>View line content with line numbers around current position (by count).</p>
2694
+
2695
+
2696
+ </div>
2697
+ </div>
2698
+ <div class="tags">
2699
+
2700
+
2701
+ </div><table class="source_code">
2702
+ <tr>
2703
+ <td>
2704
+ <pre class="lines">
2705
+
2706
+
2707
+ 419
2708
+ 420
2709
+ 421
2710
+ 422</pre>
2711
+ </td>
2712
+ <td>
2713
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 419</span>
2714
+
2715
+ <span class='kw'>def</span> <span class='id identifier rubyid_peek_ln'>peek_ln</span><span class='lparen'>(</span> <span class='id identifier rubyid_count'>count</span> <span class='op'>=</span> <span class='int'>0</span> <span class='rparen'>)</span>
2716
+ <span class='id identifier rubyid_view_range'>view_range</span><span class='lparen'>(</span> <span class='ivar'>@line</span><span class='op'>-</span><span class='id identifier rubyid_count'>count</span><span class='comma'>,</span> <span class='ivar'>@line</span><span class='op'>+</span><span class='id identifier rubyid_count'>count</span><span class='op'>+</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span> <span class='rparen'>)</span>
2717
+ <span class='kw'>nil</span>
2718
+ <span class='kw'>end</span></pre>
2719
+ </td>
2720
+ </tr>
2721
+ </table>
2722
+ </div>
2723
+
2724
+ <div class="method_details ">
2725
+ <h3 class="signature " id="read-instance_method">
2726
+
2727
+ - (<tt>Object</tt>) <strong>read</strong>
2728
+
2729
+
2730
+
2731
+
2732
+
2733
+ </h3><div class="docstring">
2734
+ <div class="discussion">
2735
+
2736
+ <p>Read file in.</p>
2737
+
2738
+
2739
+ </div>
2740
+ </div>
2741
+ <div class="tags">
2742
+
2743
+
2744
+ </div><table class="source_code">
2745
+ <tr>
2746
+ <td>
2747
+ <pre class="lines">
2748
+
2749
+
2750
+ 117
2751
+ 118
2752
+ 119
2753
+ 120
2754
+ 121
2755
+ 122
2756
+ 123</pre>
2757
+ </td>
2758
+ <td>
2759
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 117</span>
2760
+
2761
+ <span class='kw'>def</span> <span class='id identifier rubyid_read'>read</span>
2762
+ <span class='kw'>if</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_exist?'>exist?</span><span class='lparen'>(</span> <span class='ivar'>@file</span> <span class='rparen'>)</span>
2763
+ <span class='ivar'>@lines</span> <span class='op'>=</span> <span class='id identifier rubyid_read_clean'>read_clean</span><span class='lparen'>(</span> <span class='ivar'>@file</span> <span class='rparen'>)</span>
2764
+ <span class='kw'>else</span>
2765
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>PatmanFileError</span>
2766
+ <span class='kw'>end</span>
2767
+ <span class='kw'>end</span></pre>
2768
+ </td>
2769
+ </tr>
2770
+ </table>
2771
+ </div>
2772
+
2773
+ <div class="method_details ">
2774
+ <h3 class="signature " id="ref-instance_method">
2775
+
2776
+ - (<tt>Object</tt>) <strong>ref</strong>(line = nil)
2777
+
2778
+
2779
+
2780
+
2781
+
2782
+ </h3><div class="docstring">
2783
+ <div class="discussion">
2784
+
2785
+ <p>Get current line or any line.</p>
2786
+
2787
+
2788
+ </div>
2789
+ </div>
2790
+ <div class="tags">
2791
+
2792
+
2793
+ </div><table class="source_code">
2794
+ <tr>
2795
+ <td>
2796
+ <pre class="lines">
2797
+
2798
+
2799
+ 208
2800
+ 209
2801
+ 210
2802
+ 211
2803
+ 212
2804
+ 213
2805
+ 214</pre>
2806
+ </td>
2807
+ <td>
2808
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 208</span>
2809
+
2810
+ <span class='kw'>def</span> <span class='id identifier rubyid_ref'>ref</span><span class='lparen'>(</span> <span class='id identifier rubyid_line'>line</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='rparen'>)</span>
2811
+ <span class='kw'>if</span> <span class='id identifier rubyid_line'>line</span>
2812
+ <span class='ivar'>@lines</span><span class='lbracket'>[</span> <span class='id identifier rubyid_line'>line</span><span class='op'>-</span><span class='int'>1</span> <span class='rbracket'>]</span>
2813
+ <span class='kw'>else</span>
2814
+ <span class='ivar'>@lines</span><span class='lbracket'>[</span> <span class='ivar'>@line</span> <span class='rbracket'>]</span>
2815
+ <span class='kw'>end</span>
2816
+ <span class='kw'>end</span></pre>
2817
+ </td>
2818
+ </tr>
2819
+ </table>
2820
+ </div>
2821
+
2822
+ <div class="method_details ">
2823
+ <h3 class="signature " id="search-instance_method">
2824
+
2825
+ - (<tt>Object</tt>) <strong>search</strong>(re_or_str, forward = true)
2826
+
2827
+
2828
+
2829
+
2830
+
2831
+ </h3><div class="docstring">
2832
+ <div class="discussion">
2833
+
2834
+ <p>Search Regexp or literal string forwards or backwards. Fail with expection
2835
+ (PatmanSearchError) if not found.</p>
2836
+
2837
+
2838
+ </div>
2839
+ </div>
2840
+ <div class="tags">
2841
+
2842
+
2843
+ </div><table class="source_code">
2844
+ <tr>
2845
+ <td>
2846
+ <pre class="lines">
2847
+
2848
+
2849
+ 316
2850
+ 317
2851
+ 318
2852
+ 319</pre>
2853
+ </td>
2854
+ <td>
2855
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 316</span>
2856
+
2857
+ <span class='kw'>def</span> <span class='id identifier rubyid_search'>search</span><span class='lparen'>(</span> <span class='id identifier rubyid_re_or_str'>re_or_str</span><span class='comma'>,</span> <span class='id identifier rubyid_forward'>forward</span> <span class='op'>=</span> <span class='kw'>true</span> <span class='rparen'>)</span>
2858
+ <span class='ivar'>@line</span> <span class='op'>=</span> <span class='id identifier rubyid_search_with_exception'>search_with_exception</span><span class='lparen'>(</span> <span class='id identifier rubyid_re_or_str'>re_or_str</span><span class='comma'>,</span> <span class='id identifier rubyid_forward'>forward</span> <span class='rparen'>)</span>
2859
+ <span class='kw'>self</span>
2860
+ <span class='kw'>end</span></pre>
2861
+ </td>
2862
+ </tr>
2863
+ </table>
2864
+ </div>
2865
+
2866
+ <div class="method_details ">
2867
+ <h3 class="signature " id="set-instance_method">
2868
+
2869
+ - (<tt>Object</tt>) <strong>set</strong>(text)
2870
+
2871
+
2872
+
2873
+
2874
+
2875
+ </h3><div class="docstring">
2876
+ <div class="discussion">
2877
+
2878
+ <p>Set current line.</p>
2879
+
2880
+
2881
+ </div>
2882
+ </div>
2883
+ <div class="tags">
2884
+
2885
+
2886
+ </div><table class="source_code">
2887
+ <tr>
2888
+ <td>
2889
+ <pre class="lines">
2890
+
2891
+
2892
+ 217
2893
+ 218
2894
+ 219
2895
+ 220
2896
+ 221</pre>
2897
+ </td>
2898
+ <td>
2899
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 217</span>
2900
+
2901
+ <span class='kw'>def</span> <span class='id identifier rubyid_set'>set</span><span class='lparen'>(</span> <span class='id identifier rubyid_text'>text</span> <span class='rparen'>)</span>
2902
+ <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>true</span>
2903
+ <span class='ivar'>@lines</span><span class='lbracket'>[</span> <span class='ivar'>@line</span> <span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_text'>text</span>
2904
+ <span class='kw'>self</span>
2905
+ <span class='kw'>end</span></pre>
2906
+ </td>
2907
+ </tr>
2908
+ </table>
2909
+ </div>
2910
+
2911
+ <div class="method_details ">
2912
+ <h3 class="signature " id="step-instance_method">
2913
+
2914
+ - (<tt>Object</tt>) <strong>step</strong>(dir = 1)
2915
+
2916
+
2917
+
2918
+
2919
+
2920
+ </h3><div class="docstring">
2921
+ <div class="discussion">
2922
+
2923
+ <p>Step forward or backward current position.</p>
2924
+
2925
+
2926
+ </div>
2927
+ </div>
2928
+ <div class="tags">
2929
+
2930
+
2931
+ </div><table class="source_code">
2932
+ <tr>
2933
+ <td>
2934
+ <pre class="lines">
2935
+
2936
+
2937
+ 158
2938
+ 159
2939
+ 160
2940
+ 161</pre>
2941
+ </td>
2942
+ <td>
2943
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 158</span>
2944
+
2945
+ <span class='kw'>def</span> <span class='id identifier rubyid_step'>step</span><span class='lparen'>(</span> <span class='id identifier rubyid_dir'>dir</span> <span class='op'>=</span> <span class='int'>1</span> <span class='rparen'>)</span>
2946
+ <span class='ivar'>@line</span> <span class='op'>=</span> <span class='ivar'>@line</span> <span class='op'>+</span> <span class='id identifier rubyid_dir'>dir</span>
2947
+ <span class='kw'>self</span>
2948
+ <span class='kw'>end</span></pre>
2949
+ </td>
2950
+ </tr>
2951
+ </table>
2952
+ </div>
2953
+
2954
+ <div class="method_details ">
2955
+ <h3 class="signature " id="sub-instance_method">
2956
+
2957
+ - (<tt>Object</tt>) <strong>sub</strong>(from, to)
2958
+
2959
+
2960
+
2961
+
2962
+
2963
+ </h3><div class="docstring">
2964
+ <div class="discussion">
2965
+
2966
+ <p>Substitution in current line.</p>
2967
+
2968
+
2969
+ </div>
2970
+ </div>
2971
+ <div class="tags">
2972
+
2973
+
2974
+ </div><table class="source_code">
2975
+ <tr>
2976
+ <td>
2977
+ <pre class="lines">
2978
+
2979
+
2980
+ 224
2981
+ 225
2982
+ 226
2983
+ 227
2984
+ 228</pre>
2985
+ </td>
2986
+ <td>
2987
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 224</span>
2988
+
2989
+ <span class='kw'>def</span> <span class='id identifier rubyid_sub'>sub</span><span class='lparen'>(</span> <span class='id identifier rubyid_from'>from</span><span class='comma'>,</span> <span class='id identifier rubyid_to'>to</span> <span class='rparen'>)</span>
2990
+ <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>true</span>
2991
+ <span class='ivar'>@lines</span><span class='lbracket'>[</span> <span class='ivar'>@line</span> <span class='rbracket'>]</span> <span class='op'>=</span> <span class='ivar'>@lines</span><span class='lbracket'>[</span> <span class='ivar'>@line</span> <span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_sub'>sub</span><span class='lparen'>(</span> <span class='id identifier rubyid_from'>from</span><span class='comma'>,</span> <span class='id identifier rubyid_to'>to</span> <span class='rparen'>)</span>
2992
+ <span class='kw'>self</span>
2993
+ <span class='kw'>end</span></pre>
2994
+ </td>
2995
+ </tr>
2996
+ </table>
2997
+ </div>
2998
+
2999
+ <div class="method_details ">
3000
+ <h3 class="signature " id="unmark-instance_method">
3001
+
3002
+ - (<tt>Object</tt>) <strong>unmark</strong>(tag = nil)
3003
+
3004
+
3005
+
3006
+
3007
+
3008
+ </h3><div class="docstring">
3009
+ <div class="discussion">
3010
+
3011
+ <p>Unmark (restore) current position from default or from named mark.</p>
3012
+
3013
+
3014
+ </div>
3015
+ </div>
3016
+ <div class="tags">
3017
+
3018
+
3019
+ </div><table class="source_code">
3020
+ <tr>
3021
+ <td>
3022
+ <pre class="lines">
3023
+
3024
+
3025
+ 362
3026
+ 363
3027
+ 364
3028
+ 365
3029
+ 366
3030
+ 367
3031
+ 368
3032
+ 369
3033
+ 370
3034
+ 371
3035
+ 372
3036
+ 373</pre>
3037
+ </td>
3038
+ <td>
3039
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 362</span>
3040
+
3041
+ <span class='kw'>def</span> <span class='id identifier rubyid_unmark'>unmark</span><span class='lparen'>(</span> <span class='id identifier rubyid_tag'>tag</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='rparen'>)</span>
3042
+ <span class='kw'>if</span> <span class='id identifier rubyid_tag'>tag</span> <span class='op'>&amp;&amp;</span> <span class='ivar'>@marks</span><span class='lbracket'>[</span> <span class='id identifier rubyid_tag'>tag</span> <span class='rbracket'>]</span>
3043
+ <span class='ivar'>@line</span> <span class='op'>=</span> <span class='ivar'>@marks</span><span class='lbracket'>[</span> <span class='id identifier rubyid_tag'>tag</span> <span class='rbracket'>]</span><span class='op'>-</span><span class='int'>1</span>
3044
+ <span class='kw'>self</span>
3045
+ <span class='kw'>elsif</span> <span class='ivar'>@mark</span>
3046
+ <span class='ivar'>@line</span> <span class='op'>=</span> <span class='ivar'>@mark</span><span class='op'>-</span><span class='int'>1</span>
3047
+ <span class='ivar'>@mark</span> <span class='op'>=</span> <span class='kw'>nil</span>
3048
+ <span class='kw'>self</span>
3049
+ <span class='kw'>else</span>
3050
+ <span class='kw'>self</span>
3051
+ <span class='kw'>end</span>
3052
+ <span class='kw'>end</span></pre>
3053
+ </td>
3054
+ </tr>
3055
+ </table>
3056
+ </div>
3057
+
3058
+ <div class="method_details ">
3059
+ <h3 class="signature " id="update-instance_method">
3060
+
3061
+ - (<tt>Object</tt>) <strong>update</strong>(&amp;blk)
3062
+
3063
+
3064
+
3065
+
3066
+
3067
+ </h3><div class="docstring">
3068
+ <div class="discussion">
3069
+
3070
+ <p>Update current line content (i.e. get&amp;set) with the return value of the
3071
+ given block. Hence last stmt should include the new line content.</p>
3072
+
3073
+
3074
+ </div>
3075
+ </div>
3076
+ <div class="tags">
3077
+
3078
+ <div class="examples">
3079
+ <p class="tag_title">Examples:</p>
3080
+
3081
+
3082
+ <pre class="example code"><code><span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_update'>update</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_c'>c</span><span class='op'>|</span>
3083
+ <span class='id identifier rubyid_c'>c</span><span class='period'>.</span><span class='id identifier rubyid_sub!'>sub!</span><span class='lparen'>(</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>foo</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>bar</span><span class='tstring_end'>&#39;</span></span> <span class='rparen'>)</span>
3084
+ <span class='id identifier rubyid_c'>c</span>
3085
+ <span class='kw'>end</span></code></pre>
3086
+
3087
+ </div>
3088
+
3089
+
3090
+ </div><table class="source_code">
3091
+ <tr>
3092
+ <td>
3093
+ <pre class="lines">
3094
+
3095
+
3096
+ 240
3097
+ 241
3098
+ 242
3099
+ 243
3100
+ 244</pre>
3101
+ </td>
3102
+ <td>
3103
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 240</span>
3104
+
3105
+ <span class='kw'>def</span> <span class='id identifier rubyid_update'>update</span><span class='lparen'>(</span> <span class='op'>&amp;</span><span class='id identifier rubyid_blk'>blk</span> <span class='rparen'>)</span>
3106
+ <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>true</span>
3107
+ <span class='id identifier rubyid_set'>set</span><span class='lparen'>(</span> <span class='kw'>yield</span><span class='lparen'>(</span> <span class='id identifier rubyid_get'>get</span> <span class='rparen'>)</span> <span class='rparen'>)</span>
3108
+ <span class='kw'>self</span>
3109
+ <span class='kw'>end</span></pre>
3110
+ </td>
3111
+ </tr>
3112
+ </table>
3113
+ </div>
3114
+
3115
+ <div class="method_details ">
3116
+ <h3 class="signature " id="view-instance_method">
3117
+
3118
+ - (<tt>Object</tt>) <strong>view</strong>(arg1 = nil, arg2 = nil)
3119
+
3120
+
3121
+
3122
+
3123
+
3124
+ </h3><div class="docstring">
3125
+ <div class="discussion">
3126
+
3127
+ <p>View line content.</p>
3128
+ <ul><li>
3129
+ <p>no args: view all</p>
3130
+ </li><li>
3131
+ <p>one arg: view from current onwards by count</p>
3132
+ </li><li>
3133
+ <p>two args: view given range</p>
3134
+ </li></ul>
3135
+
3136
+
3137
+ </div>
3138
+ </div>
3139
+ <div class="tags">
3140
+
3141
+
3142
+ </div><table class="source_code">
3143
+ <tr>
3144
+ <td>
3145
+ <pre class="lines">
3146
+
3147
+
3148
+ 429
3149
+ 430
3150
+ 431
3151
+ 432
3152
+ 433
3153
+ 434
3154
+ 435
3155
+ 436
3156
+ 437
3157
+ 438</pre>
3158
+ </td>
3159
+ <td>
3160
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 429</span>
3161
+
3162
+ <span class='kw'>def</span> <span class='id identifier rubyid_view'>view</span><span class='lparen'>(</span> <span class='id identifier rubyid_arg1'>arg1</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_arg2'>arg2</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='rparen'>)</span>
3163
+ <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_arg1'>arg1</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_arg2'>arg2</span>
3164
+ <span class='id identifier rubyid_view_range'>view_range</span><span class='lparen'>(</span> <span class='int'>0</span><span class='comma'>,</span> <span class='id identifier rubyid_length'>length</span> <span class='rparen'>)</span>
3165
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_arg1'>arg1</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_arg2'>arg2</span>
3166
+ <span class='id identifier rubyid_view_range'>view_range</span><span class='lparen'>(</span> <span class='ivar'>@line</span><span class='comma'>,</span> <span class='ivar'>@line</span><span class='op'>+</span><span class='id identifier rubyid_arg1'>arg1</span> <span class='rparen'>)</span>
3167
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_arg1'>arg1</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_arg2'>arg2</span>
3168
+ <span class='id identifier rubyid_view_range'>view_range</span><span class='lparen'>(</span> <span class='id identifier rubyid_arg1'>arg1</span><span class='op'>-</span><span class='int'>1</span><span class='comma'>,</span> <span class='id identifier rubyid_arg1'>arg1</span><span class='op'>-</span><span class='int'>1</span><span class='op'>+</span><span class='id identifier rubyid_arg2'>arg2</span> <span class='rparen'>)</span>
3169
+ <span class='kw'>end</span>
3170
+ <span class='kw'>nil</span>
3171
+ <span class='kw'>end</span></pre>
3172
+ </td>
3173
+ </tr>
3174
+ </table>
3175
+ </div>
3176
+
3177
+ <div class="method_details ">
3178
+ <h3 class="signature " id="view_ln-instance_method">
3179
+
3180
+ - (<tt>Object</tt>) <strong>view_ln</strong>(arg1 = nil, arg2 = nil)
3181
+
3182
+
3183
+
3184
+
3185
+
3186
+ </h3><div class="docstring">
3187
+ <div class="discussion">
3188
+
3189
+ <p>View line content with line numbers.</p>
3190
+ <ul><li>
3191
+ <p>no args: view all</p>
3192
+ </li><li>
3193
+ <p>one arg: view from current onwards by count</p>
3194
+ </li><li>
3195
+ <p>two args: view given range</p>
3196
+ </li></ul>
3197
+
3198
+
3199
+ </div>
3200
+ </div>
3201
+ <div class="tags">
3202
+
3203
+
3204
+ </div><table class="source_code">
3205
+ <tr>
3206
+ <td>
3207
+ <pre class="lines">
3208
+
3209
+
3210
+ 445
3211
+ 446
3212
+ 447
3213
+ 448
3214
+ 449
3215
+ 450
3216
+ 451
3217
+ 452
3218
+ 453
3219
+ 454</pre>
3220
+ </td>
3221
+ <td>
3222
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 445</span>
3223
+
3224
+ <span class='kw'>def</span> <span class='id identifier rubyid_view_ln'>view_ln</span><span class='lparen'>(</span> <span class='id identifier rubyid_arg1'>arg1</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_arg2'>arg2</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='rparen'>)</span>
3225
+ <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_arg1'>arg1</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_arg2'>arg2</span>
3226
+ <span class='id identifier rubyid_view_range'>view_range</span><span class='lparen'>(</span> <span class='int'>0</span><span class='comma'>,</span> <span class='id identifier rubyid_length'>length</span><span class='comma'>,</span> <span class='kw'>true</span> <span class='rparen'>)</span>
3227
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_arg1'>arg1</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_arg2'>arg2</span>
3228
+ <span class='id identifier rubyid_view_range'>view_range</span><span class='lparen'>(</span> <span class='ivar'>@line</span><span class='comma'>,</span> <span class='ivar'>@line</span><span class='op'>+</span><span class='id identifier rubyid_arg1'>arg1</span><span class='comma'>,</span> <span class='kw'>true</span> <span class='rparen'>)</span>
3229
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_arg1'>arg1</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_arg2'>arg2</span>
3230
+ <span class='id identifier rubyid_view_range'>view_range</span><span class='lparen'>(</span> <span class='id identifier rubyid_arg1'>arg1</span><span class='op'>-</span><span class='int'>1</span><span class='comma'>,</span> <span class='id identifier rubyid_arg1'>arg1</span><span class='op'>-</span><span class='int'>1</span><span class='op'>+</span><span class='id identifier rubyid_arg2'>arg2</span><span class='comma'>,</span> <span class='kw'>true</span> <span class='rparen'>)</span>
3231
+ <span class='kw'>end</span>
3232
+ <span class='kw'>nil</span>
3233
+ <span class='kw'>end</span></pre>
3234
+ </td>
3235
+ </tr>
3236
+ </table>
3237
+ </div>
3238
+
3239
+ <div class="method_details ">
3240
+ <h3 class="signature " id="write-instance_method">
3241
+
3242
+ - (<tt>Object</tt>) <strong>write</strong>(file = @file)
3243
+
3244
+
3245
+
3246
+
3247
+
3248
+ </h3><div class="docstring">
3249
+ <div class="discussion">
3250
+
3251
+ <p>Write <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content to disk.</p>
3252
+
3253
+
3254
+ </div>
3255
+ </div>
3256
+ <div class="tags">
3257
+
3258
+
3259
+ </div><table class="source_code">
3260
+ <tr>
3261
+ <td>
3262
+ <pre class="lines">
3263
+
3264
+
3265
+ 126
3266
+ 127
3267
+ 128
3268
+ 129
3269
+ 130
3270
+ 131
3271
+ 132
3272
+ 133
3273
+ 134
3274
+ 135
3275
+ 136
3276
+ 137
3277
+ 138
3278
+ 139</pre>
3279
+ </td>
3280
+ <td>
3281
+ <pre class="code"><span class="info file"># File 'lib/patman.rb', line 126</span>
3282
+
3283
+ <span class='kw'>def</span> <span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span> <span class='id identifier rubyid_file'>file</span> <span class='op'>=</span> <span class='ivar'>@file</span> <span class='rparen'>)</span>
3284
+ <span class='kw'>return</span> <span class='kw'>unless</span> <span class='ivar'>@edited</span>
3285
+ <span class='id identifier rubyid_fh'>fh</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span> <span class='id identifier rubyid_file'>file</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>w</span><span class='tstring_end'>&#39;</span></span> <span class='rparen'>)</span>
3286
+ <span class='ivar'>@lines</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_line'>line</span><span class='op'>|</span>
3287
+ <span class='kw'>if</span> <span class='id identifier rubyid_line'>line</span>
3288
+ <span class='id identifier rubyid_fh'>fh</span><span class='period'>.</span><span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_line'>line</span>
3289
+ <span class='kw'>else</span>
3290
+ <span class='id identifier rubyid_fh'>fh</span><span class='period'>.</span><span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span>
3291
+ <span class='kw'>end</span>
3292
+ <span class='kw'>end</span>
3293
+ <span class='id identifier rubyid_fh'>fh</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span>
3294
+ <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>false</span>
3295
+ <span class='kw'>self</span>
3296
+ <span class='kw'>end</span></pre>
3297
+ </td>
3298
+ </tr>
3299
+ </table>
3300
+ </div>
3301
+
3302
+ </div>
3303
+
3304
+ </div>
3305
+
3306
+ <div id="footer">
3307
+ Generated on Sat Dec 16 23:10:27 2017 by
3308
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
3309
+ 0.8.7.6 (ruby-2.3.3).
3310
+ </div>
3311
+
3312
+ </body>
3313
+ </html>