<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title> Class: Patman — Documentation by YARD 0.9.16 </title> <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" /> <script type="text/javascript" charset="utf-8"> pathId = "Patman"; relpath = ''; </script> <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script> <script type="text/javascript" charset="utf-8" src="js/app.js"></script> </head> <body> <div class="nav_wrap"> <iframe id="nav" src="class_list.html?1"></iframe> <div id="resizer"></div> </div> <div id="main" tabindex="-1"> <div id="header"> <div id="menu"> <a href="_index.html">Index (P)</a> » <span class="title">Patman</span> </div> <div id="search"> <a class="full_list_link" id="class_list_link" href="class_list.html"> <svg width="24" height="24"> <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect> <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect> <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect> </svg> </a> </div> <div class="clear"></div> </div> <div id="content"><h1>Class: Patman </h1> <div class="box_info"> <dl> <dt>Inherits:</dt> <dd> <span class="inheritName">Object</span> <ul class="fullTree"> <li>Object</li> <li class="next">Patman</li> </ul> <a href="#" class="inheritanceTree">show all</a> </dd> </dl> <dl> <dt>Defined in:</dt> <dd>lib/patman.rb<span class="defines">,<br /> lib/version.rb</span> </dd> </dl> </div> <h2>Overview</h2><div class="docstring"> <div class="discussion"> <p><span class='object_link'><a href="" title="Patman (class)">Patman</a></span> (Patch Manipulator) is a library for text file patching. It can also be used to extract information from files.</p> </div> </div> <div class="tags"> </div><h2>Defined Under Namespace</h2> <p class="children"> <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> </p> <h2> Constant Summary <small><a href="#" class="constants_summary_toggle">collapse</a></small> </h2> <dl class="constants"> <dt id="VERSION-constant" class="">VERSION = </dt> <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>0.0.4</span><span class='tstring_end'>"</span></span></pre></dd> </dl> <h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2> <ul class="summary"> <li class="public "> <span class="summary_signature"> <a href="#marks-instance_method" title="#marks (instance method)">#<strong>marks</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Returns the value of attribute marks.</p> </div></span> </li> </ul> <h2> Class Method Summary <small><a href="#" class="summary_toggle">collapse</a></small> </h2> <ul class="summary"> <li class="public "> <span class="summary_signature"> <a href="#edit-class_method" title="edit (class method)">.<strong>edit</strong>(file, &blk) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Edit file and also create it if it does not exist.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#read-class_method" title="read (class method)">.<strong>read</strong>(file) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Create editing session with file.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#version-class_method" title="version (class method)">.<strong>version</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> </ul> <h2> Instance Method Summary <small><a href="#" class="summary_toggle">collapse</a></small> </h2> <ul class="summary"> <li class="public "> <span class="summary_signature"> <a href="#[]-instance_method" title="#[] (instance method)">#<strong>[]</strong>(range) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Reference <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content by range.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#append-instance_method" title="#append (instance method)">#<strong>append</strong>(text = nil) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Append after current position.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#blockline-instance_method" title="#blockline (instance method)">#<strong>blockline</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Jump to line after block.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#clear-instance_method" title="#clear (instance method)">#<strong>clear</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Clear <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content and reset current line.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#copy-instance_method" title="#copy (instance method)">#<strong>copy</strong>(file) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Copy <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content to file.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#delete-instance_method" title="#delete (instance method)">#<strong>delete</strong>(count = 1) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Delete current line.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#do_all-instance_method" title="#do_all (instance method)">#<strong>do_all</strong>(&blk) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Execute given block for all lines, i.e.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#do_for-instance_method" title="#do_for (instance method)">#<strong>do_for</strong>(start, count, &blk) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Execute given block starting from start by count, and update position.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#do_range-instance_method" title="#do_range (instance method)">#<strong>do_range</strong>(start, stop, &blk) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Execute given block between start and stop positions, and update position.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#edit-instance_method" title="#edit (instance method)">#<strong>edit</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Mark content modified (explicit).</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#edited%3F-instance_method" title="#edited? (instance method)">#<strong>edited?</strong> ⇒ Boolean </a> </span> <span class="summary_desc"><div class='inline'> <p>Return true if content is modified.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#excursion-instance_method" title="#excursion (instance method)">#<strong>excursion</strong>(&blk) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Execute block, retain current position, and return block value.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#filename-instance_method" title="#filename (instance method)">#<strong>filename</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Return <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> file name.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#find-instance_method" title="#find (instance method)">#<strong>find</strong>(re_or_str, forward = true) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Find Regexp or literal string forwards or backwards.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#firstline-instance_method" title="#firstline (instance method)">#<strong>firstline</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Jump to first line.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#get-instance_method" title="#get (instance method)">#<strong>get</strong>(count = 1) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Get current line or lines by count.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#get_for-instance_method" title="#get_for (instance method)">#<strong>get_for</strong>(start, count) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Get lines starting from start by count.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#get_range-instance_method" title="#get_range (instance method)">#<strong>get_range</strong>(start, stop) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Get lines between start and stop positions inclusive.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(file) ⇒ Patman </a> </span> <span class="note title constructor">constructor</span> <span class="summary_desc"><div class='inline'> <p>Create <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> object.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#insert-instance_method" title="#insert (instance method)">#<strong>insert</strong>(text = nil) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Insert line or lines (Array) to current position.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#insertfile-instance_method" title="#insertfile (instance method)">#<strong>insertfile</strong>(file) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Insert file to current position.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#lastline-instance_method" title="#lastline (instance method)">#<strong>lastline</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Jump to last line.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#length-instance_method" title="#length (instance method)">#<strong>length</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Return line count of <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#line-instance_method" title="#line (instance method)">#<strong>line</strong>(arg = nil) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Return or set line.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#lines-instance_method" title="#lines (instance method)">#<strong>lines</strong>(arg = nil) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Get or set all <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#mark-instance_method" title="#mark (instance method)">#<strong>mark</strong>(tag = nil) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Mark (store) current position to default or to named mark.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#peek-instance_method" title="#peek (instance method)">#<strong>peek</strong>(count = 0) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>View line content around current position (by count).</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#peek_ln-instance_method" title="#peek_ln (instance method)">#<strong>peek_ln</strong>(count = 0) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>View line content with line numbers around current position (by count).</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#read-instance_method" title="#read (instance method)">#<strong>read</strong>(file = @file) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Read file in.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#ref-instance_method" title="#ref (instance method)">#<strong>ref</strong>(line = nil) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Get current line or any line.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#search-instance_method" title="#search (instance method)">#<strong>search</strong>(re_or_str, forward = true) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Search Regexp or literal string forwards or backwards.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#set-instance_method" title="#set (instance method)">#<strong>set</strong>(text) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Set current line.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#step-instance_method" title="#step (instance method)">#<strong>step</strong>(dir = 1) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Step forward or backward current position.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#sub-instance_method" title="#sub (instance method)">#<strong>sub</strong>(from, to) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Substitution in current line.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#unmark-instance_method" title="#unmark (instance method)">#<strong>unmark</strong>(tag = nil) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Unmark (restore) current position from default or from named mark.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#update-instance_method" title="#update (instance method)">#<strong>update</strong>(&blk) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Update current line content (i.e. get&set) with the return value of the given block.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#view-instance_method" title="#view (instance method)">#<strong>view</strong>(arg1 = nil, arg2 = nil) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>View line content.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#view_ln-instance_method" title="#view_ln (instance method)">#<strong>view_ln</strong>(arg1 = nil, arg2 = nil) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>View line content with line numbers.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#write-instance_method" title="#write (instance method)">#<strong>write</strong>(file = @file) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>Write <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content to disk.</p> </div></span> </li> </ul> <div id="constructor_details" class="method_details_list"> <h2>Constructor Details</h2> <div class="method_details first"> <h3 class="signature first" id="initialize-instance_method"> #<strong>initialize</strong>(file) ⇒ <tt><span class='object_link'><a href="" title="Patman (class)">Patman</a></span></tt> </h3><div class="docstring"> <div class="discussion"> <p>Create <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> object.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 45 46 47 48 49 50 51 52 53</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 45</span> <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> <span class='ivar'>@file</span> <span class='op'>=</span> <span class='id identifier rubyid_file'>file</span> <span class='ivar'>@lines</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span> <span class='ivar'>@line</span> <span class='op'>=</span> <span class='int'>0</span> <span class='ivar'>@mark</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='ivar'>@marks</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='ivar'>@blockline</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>false</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> </div> <div id="instance_attr_details" class="attr_details"> <h2>Instance Attribute Details</h2> <span id="marks=-instance_method"></span> <div class="method_details first"> <h3 class="signature first" id="marks-instance_method"> #<strong>marks</strong> ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Returns the value of attribute marks</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 15 16 17</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 15</span> <span class='kw'>def</span> <span class='id identifier rubyid_marks'>marks</span> <span class='ivar'>@marks</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> </div> <div id="class_method_details" class="method_details_list"> <h2>Class Method Details</h2> <div class="method_details first"> <h3 class="signature first" id="edit-class_method"> .<strong>edit</strong>(file, &blk) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Edit file and also create it if it does not exist.</p> <p>If block is given, a file will be opened and block with Patman commands will be executed for it. Otherwise a Patman object is returned for further use.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 31 32 33 34 35 36 37 38 39 40 41 42</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 31</span> <span class='kw'>def</span> <span class='const'><span class='object_link'><a href="" title="Patman (class)">Patman</a></span></span><span class='period'>.</span><span class='id identifier rubyid_edit'>edit</span><span class='lparen'>(</span> <span class='id identifier rubyid_file'>file</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_blk'>blk</span> <span class='rparen'>)</span> <span class='id identifier rubyid_p'>p</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="" title="Patman (class)">Patman</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Patman#initialize (method)">new</a></span></span><span class='lparen'>(</span> <span class='id identifier rubyid_file'>file</span> <span class='rparen'>)</span> <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='id identifier rubyid_file'>file</span> <span class='rparen'>)</span> <span class='id identifier rubyid_p'>p</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span> <span class='symbol'>:read</span><span class='comma'>,</span> <span class='id identifier rubyid_file'>file</span> <span class='rparen'>)</span> <span class='kw'>end</span> <span class='kw'>if</span> <span class='id identifier rubyid_block_given?'>block_given?</span> <span class='id identifier rubyid_p'>p</span><span class='period'>.</span><span class='id identifier rubyid_instance_exec'>instance_exec</span><span class='lparen'>(</span> <span class='op'>&</span><span class='id identifier rubyid_blk'>blk</span> <span class='rparen'>)</span> <span class='id identifier rubyid_p'>p</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span> <span class='symbol'>:write</span> <span class='rparen'>)</span> <span class='kw'>else</span> <span class='id identifier rubyid_p'>p</span> <span class='kw'>end</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="read-class_method"> .<strong>read</strong>(file) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Create editing session with file.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 19 20 21 22 23</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 19</span> <span class='kw'>def</span> <span class='const'><span class='object_link'><a href="" title="Patman (class)">Patman</a></span></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> <span class='id identifier rubyid_p'>p</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="" title="Patman (class)">Patman</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Patman#initialize (method)">new</a></span></span><span class='lparen'>(</span> <span class='id identifier rubyid_file'>file</span> <span class='rparen'>)</span> <span class='id identifier rubyid_p'>p</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span> <span class='id identifier rubyid_p'>p</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="version-class_method"> .<strong>version</strong> ⇒ <tt>Object</tt> </h3><table class="source_code"> <tr> <td> <pre class="lines"> 3 4 5</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/version.rb', line 3</span> <span class='kw'>def</span> <span class='const'><span class='object_link'><a href="" title="Patman (class)">Patman</a></span></span><span class='period'>.</span><span class='id identifier rubyid_version'>version</span> <span class='const'><span class='object_link'><a href="" title="Patman (class)">Patman</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="#VERSION-constant" title="Patman::VERSION (constant)">VERSION</a></span></span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> </div> <div id="instance_method_details" class="method_details_list"> <h2>Instance Method Details</h2> <div class="method_details first"> <h3 class="signature first" id="[]-instance_method"> #<strong>[]</strong>(range) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Reference <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content by range.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 141 142 143</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 141</span> <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> <span class='ivar'>@lines</span><span class='lbracket'>[</span> <span class='id identifier rubyid_range'>range</span> <span class='rbracket'>]</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="append-instance_method"> #<strong>append</strong>(text = nil) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Append after current position.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 210 211 212 213 214 215 216 217 218 219 220 221</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 210</span> <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> <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>true</span> <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> <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> <span class='id identifier rubyid_append'>append</span><span class='lparen'>(</span> <span class='id identifier rubyid_txt'>txt</span> <span class='rparen'>)</span> <span class='kw'>end</span> <span class='kw'>else</span> <span class='id identifier rubyid_step'>step</span> <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> <span class='kw'>end</span> <span class='kw'>self</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="blockline-instance_method"> #<strong>blockline</strong> ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Jump to line after block.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 123 124 125 126 127 128</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 123</span> <span class='kw'>def</span> <span class='id identifier rubyid_blockline'>blockline</span> <span class='kw'>if</span> <span class='ivar'>@blockline</span> <span class='ivar'>@line</span> <span class='op'>=</span> <span class='ivar'>@blockline</span> <span class='kw'>end</span> <span class='kw'>self</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="clear-instance_method"> #<strong>clear</strong> ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Clear <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content and reset current line.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 243 244 245 246 247 248</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 243</span> <span class='kw'>def</span> <span class='id identifier rubyid_clear'>clear</span> <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>true</span> <span class='ivar'>@lines</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span> <span class='ivar'>@line</span> <span class='op'>=</span> <span class='int'>0</span> <span class='kw'>self</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="copy-instance_method"> #<strong>copy</strong>(file) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Copy <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content to file.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 89 90 91 92</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 89</span> <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> <span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span> <span class='id identifier rubyid_file'>file</span> <span class='rparen'>)</span> <span class='kw'>self</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="delete-instance_method"> #<strong>delete</strong>(count = 1) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Delete current line.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 224 225 226 227 228 229 230</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 224</span> <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> <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>true</span> <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> <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> <span class='kw'>end</span> <span class='kw'>self</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="do_all-instance_method"> #<strong>do_all</strong>(&blk) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Execute given block for all lines, i.e. all positions. Block parameter is <span class='object_link'><a href="" title="Patman (class)">Patman</a></span>.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 324 325 326</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 324</span> <span class='kw'>def</span> <span class='id identifier rubyid_do_all'>do_all</span><span class='lparen'>(</span> <span class='op'>&</span><span class='id identifier rubyid_blk'>blk</span> <span class='rparen'>)</span> <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'>&</span><span class='id identifier rubyid_blk'>blk</span> <span class='rparen'>)</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="do_for-instance_method"> #<strong>do_for</strong>(start, count, &blk) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Execute given block starting from start by count, and update position.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 336 337 338 339 340 341 342 343 344 345 346</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 336</span> <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'>&</span><span class='id identifier rubyid_blk'>blk</span> <span class='rparen'>)</span> <span class='id identifier rubyid_line'>line</span> <span class='op'>=</span> <span class='ivar'>@line</span> <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> <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='kw'>yield</span> <span class='kw'>self</span> <span class='ivar'>@line</span> <span class='op'>+=</span> <span class='int'>1</span> <span class='kw'>end</span> <span class='ivar'>@blockline</span> <span class='op'>=</span> <span class='ivar'>@line</span> <span class='ivar'>@line</span> <span class='op'>=</span> <span class='id identifier rubyid_line'>line</span> <span class='kw'>self</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="do_range-instance_method"> #<strong>do_range</strong>(start, stop, &blk) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Execute given block between start and stop positions, and update position.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 330 331 332</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 330</span> <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'>&</span><span class='id identifier rubyid_blk'>blk</span> <span class='rparen'>)</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='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'>&</span><span class='id identifier rubyid_blk'>blk</span> <span class='rparen'>)</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="edit-instance_method"> #<strong>edit</strong> ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Mark content modified (explicit).</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 279 280 281</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 279</span> <span class='kw'>def</span> <span class='id identifier rubyid_edit'>edit</span> <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>true</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="edited?-instance_method"> #<strong>edited?</strong> ⇒ <tt>Boolean</tt> </h3><div class="docstring"> <div class="discussion"> <p>Return true if content is modified.</p> </div> </div> <div class="tags"> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Boolean</tt>)</span> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 284 285 286</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 284</span> <span class='kw'>def</span> <span class='id identifier rubyid_edited?'>edited?</span> <span class='ivar'>@edited</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="excursion-instance_method"> #<strong>excursion</strong>(&blk) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Execute block, retain current position, and return block value.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 289 290 291 292 293 294</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 289</span> <span class='kw'>def</span> <span class='id identifier rubyid_excursion'>excursion</span><span class='lparen'>(</span> <span class='op'>&</span><span class='id identifier rubyid_blk'>blk</span> <span class='rparen'>)</span> <span class='id identifier rubyid_line'>line</span> <span class='op'>=</span> <span class='ivar'>@line</span> <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'>&</span><span class='id identifier rubyid_blk'>blk</span> <span class='rparen'>)</span> <span class='ivar'>@line</span> <span class='op'>=</span> <span class='id identifier rubyid_line'>line</span> <span class='id identifier rubyid_ret'>ret</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="filename-instance_method"> #<strong>filename</strong> ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Return <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> file name.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 274 275 276</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 274</span> <span class='kw'>def</span> <span class='id identifier rubyid_filename'>filename</span> <span class='ivar'>@file</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="find-instance_method"> #<strong>find</strong>(re_or_str, forward = true) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Find Regexp or literal string forwards or backwards. Return true on success.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 252 253 254 255 256 257 258 259</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 252</span> <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> <span class='kw'>begin</span> <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> <span class='kw'>true</span> <span class='kw'>rescue</span> <span class='kw'>false</span> <span class='kw'>end</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="firstline-instance_method"> #<strong>firstline</strong> ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Jump to first line.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 111 112 113 114</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 111</span> <span class='kw'>def</span> <span class='id identifier rubyid_firstline'>firstline</span> <span class='ivar'>@line</span> <span class='op'>=</span> <span class='int'>0</span> <span class='kw'>self</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="get-instance_method"> #<strong>get</strong>(count = 1) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Get current line or lines by count.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 146 147 148 149 150 151 152</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 146</span> <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> <span class='kw'>if</span> <span class='id identifier rubyid_count'>count</span> <span class='op'>==</span> <span class='int'>1</span> <span class='ivar'>@lines</span><span class='lbracket'>[</span> <span class='ivar'>@line</span> <span class='rbracket'>]</span> <span class='kw'>else</span> <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> <span class='kw'>end</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="get_for-instance_method"> #<strong>get_for</strong>(start, count) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Get lines starting from start by count.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 354 355 356</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 354</span> <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> <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> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="get_range-instance_method"> #<strong>get_range</strong>(start, stop) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Get lines between start and stop positions inclusive.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 349 350 351</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 349</span> <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> <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> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="insert-instance_method"> #<strong>insert</strong>(text = nil) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Insert line or lines (Array) to current position.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 194 195 196 197 198 199 200 201 202 203 204 205 206 207</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 194</span> <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> <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>true</span> <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> <span class='id identifier rubyid_line'>line</span> <span class='op'>=</span> <span class='ivar'>@line</span> <span class='id identifier rubyid_step'>step</span><span class='lparen'>(</span> <span class='op'>-</span><span class='int'>1</span> <span class='rparen'>)</span> <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> <span class='id identifier rubyid_append'>append</span><span class='lparen'>(</span> <span class='id identifier rubyid_txt'>txt</span> <span class='rparen'>)</span> <span class='kw'>end</span> <span class='ivar'>@line</span> <span class='op'>=</span> <span class='id identifier rubyid_line'>line</span> <span class='kw'>else</span> <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> <span class='kw'>end</span> <span class='kw'>self</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="insertfile-instance_method"> #<strong>insertfile</strong>(file) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Insert file to current position.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 233 234 235 236 237 238 239 240</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 233</span> <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> <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>true</span> <span class='id identifier rubyid_step'>step</span><span class='lparen'>(</span> <span class='op'>-</span><span class='int'>1</span> <span class='rparen'>)</span> <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> <span class='id identifier rubyid_append'>append</span> <span class='id identifier rubyid_line'>line</span> <span class='kw'>end</span> <span class='kw'>self</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="lastline-instance_method"> #<strong>lastline</strong> ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Jump to last line.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 117 118 119 120</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 117</span> <span class='kw'>def</span> <span class='id identifier rubyid_lastline'>lastline</span> <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> <span class='kw'>self</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="length-instance_method"> #<strong>length</strong> ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Return line count of <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 269 270 271</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 269</span> <span class='kw'>def</span> <span class='id identifier rubyid_length'>length</span> <span class='ivar'>@lines</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="line-instance_method"> #<strong>line</strong>(arg = nil) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Return or set line.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 95 96 97 98 99 100 101 102</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 95</span> <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> <span class='kw'>if</span> <span class='id identifier rubyid_arg'>arg</span> <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> <span class='kw'>self</span> <span class='kw'>else</span> <span class='ivar'>@line</span><span class='op'>+</span><span class='int'>1</span> <span class='kw'>end</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="lines-instance_method"> #<strong>lines</strong>(arg = nil) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Get or set all <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 131 132 133 134 135 136 137 138</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 131</span> <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> <span class='kw'>if</span> <span class='id identifier rubyid_arg'>arg</span> <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>true</span> <span class='ivar'>@lines</span> <span class='op'>=</span> <span class='id identifier rubyid_arg'>arg</span> <span class='kw'>else</span> <span class='ivar'>@lines</span> <span class='kw'>end</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="mark-instance_method"> #<strong>mark</strong>(tag = nil) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Mark (store) current position to default or to named mark.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 297 298 299 300 301 302 303 304 305</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 297</span> <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> <span class='kw'>if</span> <span class='id identifier rubyid_tag'>tag</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='ivar'>@line</span><span class='op'>+</span><span class='int'>1</span> <span class='kw'>self</span> <span class='kw'>else</span> <span class='ivar'>@mark</span> <span class='op'>=</span> <span class='ivar'>@line</span><span class='op'>+</span><span class='int'>1</span> <span class='kw'>self</span> <span class='kw'>end</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="peek-instance_method"> #<strong>peek</strong>(count = 0) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>View line content around current position (by count).</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 359 360 361 362</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 359</span> <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> <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> <span class='kw'>nil</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="peek_ln-instance_method"> #<strong>peek_ln</strong>(count = 0) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>View line content with line numbers around current position (by count).</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 366 367 368 369</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 366</span> <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> <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> <span class='kw'>nil</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="read-instance_method"> #<strong>read</strong>(file = @file) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Read file in.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 56 57 58 59 60 61 62</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 56</span> <span class='kw'>def</span> <span class='id identifier rubyid_read'>read</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> <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='id identifier rubyid_file'>file</span> <span class='rparen'>)</span> <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='id identifier rubyid_file'>file</span> <span class='rparen'>)</span> <span class='kw'>else</span> <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="Patman/PatmanFileError.html" title="Patman::PatmanFileError (class)">PatmanFileError</a></span></span> <span class='kw'>end</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="ref-instance_method"> #<strong>ref</strong>(line = nil) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Get current line or any line.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 155 156 157 158 159 160 161</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 155</span> <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> <span class='kw'>if</span> <span class='id identifier rubyid_line'>line</span> <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> <span class='kw'>else</span> <span class='ivar'>@lines</span><span class='lbracket'>[</span> <span class='ivar'>@line</span> <span class='rbracket'>]</span> <span class='kw'>end</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="search-instance_method"> #<strong>search</strong>(re_or_str, forward = true) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Search Regexp or literal string forwards or backwards. Fail with expection (PatmanSearchError) if not found.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 263 264 265 266</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 263</span> <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> <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> <span class='kw'>self</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="set-instance_method"> #<strong>set</strong>(text) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Set current line.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 164 165 166 167 168</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 164</span> <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> <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>true</span> <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> <span class='kw'>self</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="step-instance_method"> #<strong>step</strong>(dir = 1) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Step forward or backward current position.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 105 106 107 108</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 105</span> <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> <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> <span class='kw'>self</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="sub-instance_method"> #<strong>sub</strong>(from, to) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Substitution in current line.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 171 172 173 174 175</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 171</span> <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> <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>true</span> <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> <span class='kw'>self</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="unmark-instance_method"> #<strong>unmark</strong>(tag = nil) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Unmark (restore) current position from default or from named mark.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 309 310 311 312 313 314 315 316 317 318 319 320</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 309</span> <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> <span class='kw'>if</span> <span class='id identifier rubyid_tag'>tag</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='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> <span class='kw'>self</span> <span class='kw'>elsif</span> <span class='ivar'>@mark</span> <span class='ivar'>@line</span> <span class='op'>=</span> <span class='ivar'>@mark</span><span class='op'>-</span><span class='int'>1</span> <span class='ivar'>@mark</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>self</span> <span class='kw'>else</span> <span class='kw'>self</span> <span class='kw'>end</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="update-instance_method"> #<strong>update</strong>(&blk) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Update current line content (i.e. get&set) with the return value of the given block. Hence last stmt should include the new line content.</p> </div> </div> <div class="tags"> <div class="examples"> <p class="tag_title">Examples:</p> <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> <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'>'</span><span class='tstring_content'>bar</span><span class='tstring_end'>'</span></span> <span class='rparen'>)</span> <span class='id identifier rubyid_c'>c</span> <span class='kw'>end</span></code></pre> </div> </div><table class="source_code"> <tr> <td> <pre class="lines"> 187 188 189 190 191</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 187</span> <span class='kw'>def</span> <span class='id identifier rubyid_update'>update</span><span class='lparen'>(</span> <span class='op'>&</span><span class='id identifier rubyid_blk'>blk</span> <span class='rparen'>)</span> <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>true</span> <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> <span class='kw'>self</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="view-instance_method"> #<strong>view</strong>(arg1 = nil, arg2 = nil) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>View line content.</p> <ul><li> <p>no args: view all</p> </li><li> <p>one arg: view from current onwards by count</p> </li><li> <p>two args: view given range</p> </li></ul> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 376 377 378 379 380 381 382 383 384 385</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 376</span> <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> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_arg1'>arg1</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_arg2'>arg2</span> <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> <span class='kw'>elsif</span> <span class='id identifier rubyid_arg1'>arg1</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_arg2'>arg2</span> <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> <span class='kw'>elsif</span> <span class='id identifier rubyid_arg1'>arg1</span> <span class='op'>&&</span> <span class='id identifier rubyid_arg2'>arg2</span> <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> <span class='kw'>end</span> <span class='kw'>nil</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="view_ln-instance_method"> #<strong>view_ln</strong>(arg1 = nil, arg2 = nil) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>View line content with line numbers.</p> <ul><li> <p>no args: view all</p> </li><li> <p>one arg: view from current onwards by count</p> </li><li> <p>two args: view given range</p> </li></ul> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 392 393 394 395 396 397 398 399 400 401</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 392</span> <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> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_arg1'>arg1</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_arg2'>arg2</span> <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> <span class='kw'>elsif</span> <span class='id identifier rubyid_arg1'>arg1</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_arg2'>arg2</span> <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> <span class='kw'>elsif</span> <span class='id identifier rubyid_arg1'>arg1</span> <span class='op'>&&</span> <span class='id identifier rubyid_arg2'>arg2</span> <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> <span class='kw'>end</span> <span class='kw'>nil</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="write-instance_method"> #<strong>write</strong>(file = @file) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Write <span class='object_link'><a href="" title="Patman (class)">Patman</a></span> content to disk.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/patman.rb', line 65</span> <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> <span class='kw'>return</span> <span class='kw'>unless</span> <span class='ivar'>@edited</span> <span class='id identifier rubyid_file_dir'>file_dir</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span><span class='lparen'>(</span> <span class='id identifier rubyid_file'>file</span> <span class='rparen'>)</span> <span class='kw'>unless</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_exist?'>exist?</span><span class='lparen'>(</span> <span class='id identifier rubyid_file_dir'>file_dir</span> <span class='rparen'>)</span> <span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>fileutils</span><span class='tstring_end'>'</span></span> <span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_mkdir_p'>mkdir_p</span><span class='lparen'>(</span> <span class='id identifier rubyid_file_dir'>file_dir</span> <span class='rparen'>)</span> <span class='kw'>end</span> <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'>'</span><span class='tstring_content'>w</span><span class='tstring_end'>'</span></span> <span class='rparen'>)</span> <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> <span class='kw'>if</span> <span class='id identifier rubyid_line'>line</span> <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> <span class='kw'>else</span> <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'>"</span><span class='tstring_end'>"</span></span> <span class='kw'>end</span> <span class='kw'>end</span> <span class='id identifier rubyid_fh'>fh</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span> <span class='ivar'>@edited</span> <span class='op'>=</span> <span class='kw'>false</span> <span class='kw'>self</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> </div> </div> <div id="footer"> Generated on Sat Oct 20 17:33:29 2018 by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a> 0.9.16 (ruby-2.5.1). </div> </div> </body> </html>