doc-api/classes/Erubis/PercentLineEnhancer.html in erubis-2.4.0 vs doc-api/classes/Erubis/PercentLineEnhancer.html in erubis-2.4.1
- old
+ new
@@ -102,26 +102,13 @@
<!-- if includes -->
<div id="section">
- <div id="constants-list">
- <h3 class="section-bar">Constants</h3>
- <div class="name-list">
- <table summary="Constants">
- <tr class="top-aligned-row context-row">
- <td class="context-item-name">PERCENT_LINE_PATTERN</td>
- <td>=</td>
- <td class="context-item-value">/(.*?)^\%(.*?\r?\n)/m</td>
- </tr>
- </table>
- </div>
- </div>
-
<!-- if method_list -->
<div id="methods">
@@ -139,20 +126,37 @@
<div class="method-description">
<p><a class="source-toggle" href="#"
onclick="toggleCode('M000157-source');return false;">[Source]</a></p>
<div class="method-source-code" id="M000157-source">
<pre>
-<span class="ruby-comment cmt"># File erubis/enhancer.rb, line 448</span>
+<span class="ruby-comment cmt"># File erubis/enhancer.rb, line 446</span>
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_text</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">text</span>)
- <span class="ruby-identifier">text</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-constant">PERCENT_LINE_PATTERN</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">txt</span>, <span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
- <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">txt</span>)
+ <span class="ruby-identifier">pos</span> = <span class="ruby-value">0</span>
+ <span class="ruby-identifier">text2</span> = <span class="ruby-value str">''</span>
+ <span class="ruby-identifier">text</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/^\%(.*?\r?\n)/</span>) <span class="ruby-keyword kw">do</span>
+ <span class="ruby-identifier">line</span> = <span class="ruby-identifier">$1</span>
+ <span class="ruby-identifier">match</span> = <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">last_match</span>
+ <span class="ruby-identifier">len</span> = <span class="ruby-identifier">match</span>.<span class="ruby-identifier">begin</span>(<span class="ruby-value">0</span>) <span class="ruby-operator">-</span> <span class="ruby-identifier">pos</span>
+ <span class="ruby-identifier">str</span> = <span class="ruby-identifier">text</span>[<span class="ruby-identifier">pos</span>, <span class="ruby-identifier">len</span>]
+ <span class="ruby-identifier">pos</span> = <span class="ruby-identifier">match</span>.<span class="ruby-identifier">end</span>(<span class="ruby-value">0</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">text2</span>.<span class="ruby-identifier">empty?</span>
+ <span class="ruby-identifier">text2</span> = <span class="ruby-identifier">str</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">text2</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">str</span>
+ <span class="ruby-keyword kw">end</span>
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">line</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?%</span>
- <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">line</span>)
+ <span class="ruby-identifier">text2</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">line</span>
<span class="ruby-keyword kw">else</span>
+ <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">text2</span>)
+ <span class="ruby-identifier">text2</span> = <span class="ruby-value str">''</span>
<span class="ruby-identifier">add_stmt</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">line</span>)
<span class="ruby-keyword kw">end</span>
<span class="ruby-keyword kw">end</span>
- <span class="ruby-identifier">rest</span> = <span class="ruby-identifier">$'</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">text</span>
+ <span class="ruby-identifier">rest</span> = <span class="ruby-identifier">pos</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">text</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">$'</span> <span class="ruby-comment cmt"># or $' || text</span>
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">text2</span>.<span class="ruby-identifier">empty?</span>
+ <span class="ruby-identifier">text2</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">rest</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">rest</span>
+ <span class="ruby-identifier">rest</span> = <span class="ruby-identifier">text2</span>
+ <span class="ruby-keyword kw">end</span>
<span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">rest</span>)
<span class="ruby-keyword kw">end</span>
</pre>
</div>
</div>
\ No newline at end of file