doc-api/classes/Tenjin/Template.html in tenjin-0.6.0 vs doc-api/classes/Tenjin/Template.html in tenjin-0.6.1

- old
+ new

@@ -135,29 +135,29 @@ <div id="method-list"> <h3 class="section-bar">Methods</h3> <div class="name-list"> - <a href="#M000061">add_expr</a>&nbsp;&nbsp; - <a href="#M000062">add_stmt</a>&nbsp;&nbsp; - <a href="#M000059">add_text</a>&nbsp;&nbsp; - <a href="#M000049">after_convert</a>&nbsp;&nbsp; - <a href="#M000048">before_convert</a>&nbsp;&nbsp; - <a href="#M000050">compile_stmt_pattern</a>&nbsp;&nbsp; - <a href="#M000047">convert</a>&nbsp;&nbsp; - <a href="#M000046">convert_file</a>&nbsp;&nbsp; - <a href="#M000060">escape_str</a>&nbsp;&nbsp; - <a href="#M000053">expr_pattern</a>&nbsp;&nbsp; - <a href="#M000054">get_expr_and_escapeflag</a>&nbsp;&nbsp; - <a href="#M000045">new</a>&nbsp;&nbsp; - <a href="#M000055">parse_exprs</a>&nbsp;&nbsp; - <a href="#M000052">parse_stmts</a>&nbsp;&nbsp; - <a href="#M000063">render</a>&nbsp;&nbsp; - <a href="#M000057">start_text_part</a>&nbsp;&nbsp; - <a href="#M000056">statement_hook</a>&nbsp;&nbsp; - <a href="#M000051">stmt_pattern</a>&nbsp;&nbsp; - <a href="#M000058">stop_text_part</a>&nbsp;&nbsp; + <a href="#M000063">add_expr</a>&nbsp;&nbsp; + <a href="#M000064">add_stmt</a>&nbsp;&nbsp; + <a href="#M000061">add_text</a>&nbsp;&nbsp; + <a href="#M000051">after_convert</a>&nbsp;&nbsp; + <a href="#M000050">before_convert</a>&nbsp;&nbsp; + <a href="#M000052">compile_stmt_pattern</a>&nbsp;&nbsp; + <a href="#M000049">convert</a>&nbsp;&nbsp; + <a href="#M000048">convert_file</a>&nbsp;&nbsp; + <a href="#M000062">escape_str</a>&nbsp;&nbsp; + <a href="#M000055">expr_pattern</a>&nbsp;&nbsp; + <a href="#M000056">get_expr_and_escapeflag</a>&nbsp;&nbsp; + <a href="#M000047">new</a>&nbsp;&nbsp; + <a href="#M000057">parse_exprs</a>&nbsp;&nbsp; + <a href="#M000054">parse_stmts</a>&nbsp;&nbsp; + <a href="#M000065">render</a>&nbsp;&nbsp; + <a href="#M000059">start_text_part</a>&nbsp;&nbsp; + <a href="#M000058">statement_hook</a>&nbsp;&nbsp; + <a href="#M000053">stmt_pattern</a>&nbsp;&nbsp; + <a href="#M000060">stop_text_part</a>&nbsp;&nbsp; </div> </div> </div> @@ -236,15 +236,15 @@ <!-- if method_list --> <div id="methods"> <h3 class="section-bar">Public Class methods</h3> - <div id="method-M000045" class="method-detail"> - <a name="M000045"></a> + <div id="method-M000047" class="method-detail"> + <a name="M000047"></a> <div class="method-heading"> - <a href="#M000045" class="method-signature"> + <a href="#M000047" class="method-signature"> <span class="method-name">new</span><span class="method-args">(filename=nil, options={})</span> </a> </div> <div class="method-description"> @@ -264,14 +264,14 @@ <tr><td valign="top">:postamble :</td><td>postamble such as &quot;_buf.to_s&quot; (default nil) </td></tr> </table> <p><a class="source-toggle" href="#" - onclick="toggleCode('M000045-source');return false;">[Source]</a></p> - <div class="method-source-code" id="M000045-source"> + onclick="toggleCode('M000047-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000047-source"> <pre> -<span class="ruby-comment cmt"># File lib/tenjin.rb, line 327</span> +<span class="ruby-comment cmt"># File lib/tenjin.rb, line 337</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">filename</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">options</span>={}) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">filename</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Hash</span>) <span class="ruby-identifier">options</span> = <span class="ruby-identifier">filename</span> <span class="ruby-identifier">filename</span> = <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">end</span> @@ -287,53 +287,53 @@ </div> </div> <h3 class="section-bar">Protected Class methods</h3> - <div id="method-M000050" class="method-detail"> - <a name="M000050"></a> + <div id="method-M000052" class="method-detail"> + <a name="M000052"></a> <div class="method-heading"> - <a href="#M000050" class="method-signature"> + <a href="#M000052" class="method-signature"> <span class="method-name">compile_stmt_pattern</span><span class="method-args">(pi)</span> </a> </div> <div class="method-description"> <p><a class="source-toggle" href="#" - onclick="toggleCode('M000050-source');return false;">[Source]</a></p> - <div class="method-source-code" id="M000050-source"> + onclick="toggleCode('M000052-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000052-source"> <pre> -<span class="ruby-comment cmt"># File lib/tenjin.rb, line 381</span> +<span class="ruby-comment cmt"># File lib/tenjin.rb, line 391</span> <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">compile_stmt_pattern</span>(<span class="ruby-identifier">pi</span>) <span class="ruby-keyword kw">return</span> <span class="ruby-node">/&lt;\?#{pi}( |\t|\r?\n)(.*?) ?\?&gt;([ \t]*\r?\n)?/</span><span class="ruby-identifier">m</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <h3 class="section-bar">Public Instance methods</h3> - <div id="method-M000047" class="method-detail"> - <a name="M000047"></a> + <div id="method-M000049" class="method-detail"> + <a name="M000049"></a> <div class="method-heading"> - <a href="#M000047" class="method-signature"> + <a href="#M000049" class="method-signature"> <span class="method-name">convert</span><span class="method-args">(input, filename=nil)</span> </a> </div> <div class="method-description"> <p> -<a href="Template.html#M000047">convert</a> string into ruby code +<a href="Template.html#M000049">convert</a> string into ruby code </p> <p><a class="source-toggle" href="#" - onclick="toggleCode('M000047-source');return false;">[Source]</a></p> - <div class="method-source-code" id="M000047-source"> + onclick="toggleCode('M000049-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000049-source"> <pre> -<span class="ruby-comment cmt"># File lib/tenjin.rb, line 349</span> +<span class="ruby-comment cmt"># File lib/tenjin.rb, line 359</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">convert</span>(<span class="ruby-identifier">input</span>, <span class="ruby-identifier">filename</span>=<span class="ruby-keyword kw">nil</span>) <span class="ruby-ivar">@input</span> = <span class="ruby-identifier">input</span> <span class="ruby-ivar">@filename</span> = <span class="ruby-identifier">filename</span> <span class="ruby-ivar">@proc</span> = <span class="ruby-keyword kw">nil</span> <span class="ruby-identifier">pos</span> = <span class="ruby-identifier">input</span>.<span class="ruby-identifier">index</span>(<span class="ruby-value">?\n</span>) @@ -352,138 +352,138 @@ </pre> </div> </div> </div> - <div id="method-M000046" class="method-detail"> - <a name="M000046"></a> + <div id="method-M000048" class="method-detail"> + <a name="M000048"></a> <div class="method-heading"> - <a href="#M000046" class="method-signature"> + <a href="#M000048" class="method-signature"> <span class="method-name">convert_file</span><span class="method-args">(filename)</span> </a> </div> <div class="method-description"> <p> -<a href="Template.html#M000047">convert</a> file into ruby code +<a href="Template.html#M000049">convert</a> file into ruby code </p> <p><a class="source-toggle" href="#" - onclick="toggleCode('M000046-source');return false;">[Source]</a></p> - <div class="method-source-code" id="M000046-source"> + onclick="toggleCode('M000048-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000048-source"> <pre> -<span class="ruby-comment cmt"># File lib/tenjin.rb, line 344</span> +<span class="ruby-comment cmt"># File lib/tenjin.rb, line 354</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">convert_file</span>(<span class="ruby-identifier">filename</span>) <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">convert</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">filename</span>), <span class="ruby-identifier">filename</span>) <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> - <div id="method-M000063" class="method-detail"> - <a name="M000063"></a> + <div id="method-M000065" class="method-detail"> + <a name="M000065"></a> <div class="method-heading"> - <a href="#M000063" class="method-signature"> - <span class="method-name">render</span><span class="method-args">(context=Context.new)</span> + <a href="#M000065" class="method-signature"> + <span class="method-name">render</span><span class="method-args">(_context=Context.new)</span> </a> </div> <div class="method-description"> <p> evaluate converted ruby code and return it. argument &#8216;_context&#8217; should be a Hash object or <a href="Context.html">Context</a> object. </p> <p><a class="source-toggle" href="#" - onclick="toggleCode('M000063-source');return false;">[Source]</a></p> - <div class="method-source-code" id="M000063-source"> + onclick="toggleCode('M000065-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000065-source"> <pre> -<span class="ruby-comment cmt"># File lib/tenjin.rb, line 612</span> - <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">render</span>(<span class="ruby-identifier">context</span>=<span class="ruby-constant">Context</span>.<span class="ruby-identifier">new</span>) - <span class="ruby-identifier">context</span> = <span class="ruby-constant">Context</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">context</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">context</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Hash</span>) +<span class="ruby-comment cmt"># File lib/tenjin.rb, line 622</span> + <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">render</span>(<span class="ruby-identifier">_context</span>=<span class="ruby-constant">Context</span>.<span class="ruby-identifier">new</span>) + <span class="ruby-identifier">_context</span> = <span class="ruby-constant">Context</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">_context</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">_context</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Hash</span>) <span class="ruby-ivar">@proc</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">_render</span>() - <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">context</span>.<span class="ruby-identifier">instance_eval</span>(<span class="ruby-operator">&amp;</span><span class="ruby-ivar">@proc</span>) + <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">_context</span>.<span class="ruby-identifier">instance_eval</span>(<span class="ruby-operator">&amp;</span><span class="ruby-ivar">@proc</span>) <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <h3 class="section-bar">Protected Instance methods</h3> - <div id="method-M000061" class="method-detail"> - <a name="M000061"></a> + <div id="method-M000063" class="method-detail"> + <a name="M000063"></a> <div class="method-heading"> - <a href="#M000061" class="method-signature"> + <a href="#M000063" class="method-signature"> <span class="method-name">add_expr</span><span class="method-args">(code, flag_escape=nil)</span> </a> </div> <div class="method-description"> <p> add expression code </p> <p><a class="source-toggle" href="#" - onclick="toggleCode('M000061-source');return false;">[Source]</a></p> - <div class="method-source-code" id="M000061-source"> + onclick="toggleCode('M000063-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000063-source"> <pre> -<span class="ruby-comment cmt"># File lib/tenjin.rb, line 587</span> +<span class="ruby-comment cmt"># File lib/tenjin.rb, line 597</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_expr</span>(<span class="ruby-identifier">code</span>, <span class="ruby-identifier">flag_escape</span>=<span class="ruby-keyword kw">nil</span>) <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">code</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">code</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-ivar">@script</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">flag_escape</span> <span class="ruby-value">? </span><span class="ruby-node">&quot;\#{#{@escapefunc}((#{code}).to_s)}&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-node">&quot;\#{#{code}}&quot;</span>) <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> - <div id="method-M000062" class="method-detail"> - <a name="M000062"></a> + <div id="method-M000064" class="method-detail"> + <a name="M000064"></a> <div class="method-heading"> - <a href="#M000062" class="method-signature"> + <a href="#M000064" class="method-signature"> <span class="method-name">add_stmt</span><span class="method-args">(code)</span> </a> </div> <div class="method-description"> <p> add statement code </p> <p><a class="source-toggle" href="#" - onclick="toggleCode('M000062-source');return false;">[Source]</a></p> - <div class="method-source-code" id="M000062-source"> + onclick="toggleCode('M000064-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000064-source"> <pre> -<span class="ruby-comment cmt"># File lib/tenjin.rb, line 593</span> +<span class="ruby-comment cmt"># File lib/tenjin.rb, line 603</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_stmt</span>(<span class="ruby-identifier">code</span>) <span class="ruby-ivar">@script</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">code</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> - <div id="method-M000059" class="method-detail"> - <a name="M000059"></a> + <div id="method-M000061" class="method-detail"> + <a name="M000061"></a> <div class="method-heading"> - <a href="#M000059" class="method-signature"> + <a href="#M000061" class="method-signature"> <span class="method-name">add_text</span><span class="method-args">(text, encode_newline=false)</span> </a> </div> <div class="method-description"> <p> add text string </p> <p><a class="source-toggle" href="#" - onclick="toggleCode('M000059-source');return false;">[Source]</a></p> - <div class="method-source-code" id="M000059-source"> + onclick="toggleCode('M000061-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000061-source"> <pre> -<span class="ruby-comment cmt"># File lib/tenjin.rb, line 569</span> +<span class="ruby-comment cmt"># File lib/tenjin.rb, line 579</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_text</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">encode_newline</span>=<span class="ruby-keyword kw">false</span>) <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">text</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">text</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">encode_newline</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">text</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?\n</span> <span class="ruby-identifier">text</span>.<span class="ruby-identifier">chomp!</span> <span class="ruby-ivar">@script</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">escape_str</span>(<span class="ruby-identifier">text</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@newlinestr</span> @@ -494,164 +494,164 @@ </pre> </div> </div> </div> - <div id="method-M000049" class="method-detail"> - <a name="M000049"></a> + <div id="method-M000051" class="method-detail"> + <a name="M000051"></a> <div class="method-heading"> - <a href="#M000049" class="method-signature"> + <a href="#M000051" class="method-signature"> <span class="method-name">after_convert</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> -hook method called after <a href="Template.html#M000047">convert</a>() +hook method called after <a href="Template.html#M000049">convert</a>() </p> <p><a class="source-toggle" href="#" - onclick="toggleCode('M000049-source');return false;">[Source]</a></p> - <div class="method-source-code" id="M000049-source"> + onclick="toggleCode('M000051-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000051-source"> <pre> -<span class="ruby-comment cmt"># File lib/tenjin.rb, line 376</span> +<span class="ruby-comment cmt"># File lib/tenjin.rb, line 386</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">after_convert</span>() <span class="ruby-ivar">@script</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@newline</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@script</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?\n</span> <span class="ruby-ivar">@script</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@postamble</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@newline</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@postamble</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> - <div id="method-M000048" class="method-detail"> - <a name="M000048"></a> + <div id="method-M000050" class="method-detail"> + <a name="M000050"></a> <div class="method-heading"> - <a href="#M000048" class="method-signature"> + <a href="#M000050" class="method-signature"> <span class="method-name">before_convert</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> -hook method called before <a href="Template.html#M000047">convert</a>() +hook method called before <a href="Template.html#M000049">convert</a>() </p> <p><a class="source-toggle" href="#" - onclick="toggleCode('M000048-source');return false;">[Source]</a></p> - <div class="method-source-code" id="M000048-source"> + onclick="toggleCode('M000050-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000050-source"> <pre> -<span class="ruby-comment cmt"># File lib/tenjin.rb, line 370</span> +<span class="ruby-comment cmt"># File lib/tenjin.rb, line 380</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">before_convert</span>() <span class="ruby-ivar">@script</span> = <span class="ruby-value str">''</span> <span class="ruby-ivar">@script</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@preamble</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@preamble</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> - <div id="method-M000060" class="method-detail"> - <a name="M000060"></a> + <div id="method-M000062" class="method-detail"> + <a name="M000062"></a> <div class="method-heading"> - <a href="#M000060" class="method-signature"> + <a href="#M000062" class="method-signature"> <span class="method-name">escape_str</span><span class="method-args">(str)</span> </a> </div> <div class="method-description"> <p> escape &#8217;\&#8217; and &#8217;`&#8217; into &#8217;\\&#8217; and &#8217;\`&#8217; </p> <p><a class="source-toggle" href="#" - onclick="toggleCode('M000060-source');return false;">[Source]</a></p> - <div class="method-source-code" id="M000060-source"> + onclick="toggleCode('M000062-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000062-source"> <pre> -<span class="ruby-comment cmt"># File lib/tenjin.rb, line 580</span> +<span class="ruby-comment cmt"># File lib/tenjin.rb, line 590</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">escape_str</span>(<span class="ruby-identifier">str</span>) <span class="ruby-identifier">str</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/[`\\]/</span>, <span class="ruby-value str">'\\\\\&amp;'</span>) <span class="ruby-identifier">str</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\r\n/</span>, <span class="ruby-value str">&quot;\\r\r\n&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@newline</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;\r\n&quot;</span> <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">str</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> - <div id="method-M000053" class="method-detail"> - <a name="M000053"></a> + <div id="method-M000055" class="method-detail"> + <a name="M000055"></a> <div class="method-heading"> - <a href="#M000053" class="method-signature"> + <a href="#M000055" class="method-signature"> <span class="method-name">expr_pattern</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p><a class="source-toggle" href="#" - onclick="toggleCode('M000053-source');return false;">[Source]</a></p> - <div class="method-source-code" id="M000053-source"> + onclick="toggleCode('M000055-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000055-source"> <pre> -<span class="ruby-comment cmt"># File lib/tenjin.rb, line 454</span> +<span class="ruby-comment cmt"># File lib/tenjin.rb, line 464</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">expr_pattern</span> <span class="ruby-comment cmt">#return /([\#$])\{(.*?)\}/</span> <span class="ruby-keyword kw">return</span> <span class="ruby-regexp re">/(\$)\{(.*?)\}/</span><span class="ruby-identifier">m</span> <span class="ruby-comment cmt">#return /\$\{.*?\}/</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> - <div id="method-M000054" class="method-detail"> - <a name="M000054"></a> + <div id="method-M000056" class="method-detail"> + <a name="M000056"></a> <div class="method-heading"> - <a href="#M000054" class="method-signature"> + <a href="#M000056" class="method-signature"> <span class="method-name">get_expr_and_escapeflag</span><span class="method-args">(matched)</span> </a> </div> <div class="method-description"> <p> ex. <a -href="Template.html#M000054">get_expr_and_escapeflag</a>(&#8217;$&#8217;, +href="Template.html#M000056">get_expr_and_escapeflag</a>(&#8217;$&#8217;, &#8216;item[:name]&#8217;) =&gt; &#8216;item[:name]&#8217;, true </p> <p><a class="source-toggle" href="#" - onclick="toggleCode('M000054-source');return false;">[Source]</a></p> - <div class="method-source-code" id="M000054-source"> + onclick="toggleCode('M000056-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000056-source"> <pre> -<span class="ruby-comment cmt"># File lib/tenjin.rb, line 461</span> +<span class="ruby-comment cmt"># File lib/tenjin.rb, line 471</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_expr_and_escapeflag</span>(<span class="ruby-identifier">matched</span>) <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">matched</span>[<span class="ruby-value">2</span>], <span class="ruby-identifier">matched</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'$'</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> - <div id="method-M000055" class="method-detail"> - <a name="M000055"></a> + <div id="method-M000057" class="method-detail"> + <a name="M000057"></a> <div class="method-heading"> - <a href="#M000055" class="method-signature"> + <a href="#M000057" class="method-signature"> <span class="method-name">parse_exprs</span><span class="method-args">(input)</span> </a> </div> <div class="method-description"> <p> parse expressions (&#8217;#{&#8230;}&#8217; and &#8217;${&#8230;}&#8217;) </p> <p><a class="source-toggle" href="#" - onclick="toggleCode('M000055-source');return false;">[Source]</a></p> - <div class="method-source-code" id="M000055-source"> + onclick="toggleCode('M000057-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000057-source"> <pre> -<span class="ruby-comment cmt"># File lib/tenjin.rb, line 466</span> +<span class="ruby-comment cmt"># File lib/tenjin.rb, line 476</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_exprs</span>(<span class="ruby-identifier">input</span>) <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">input</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">input</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-identifier">pos</span> = <span class="ruby-value">0</span> <span class="ruby-identifier">start_text_part</span>() <span class="ruby-identifier">input</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-identifier">expr_pattern</span>()) <span class="ruby-keyword kw">do</span> @@ -685,28 +685,28 @@ </pre> </div> </div> </div> - <div id="method-M000052" class="method-detail"> - <a name="M000052"></a> + <div id="method-M000054" class="method-detail"> + <a name="M000054"></a> <div class="method-heading"> - <a href="#M000052" class="method-signature"> + <a href="#M000054" class="method-signature"> <span class="method-name">parse_stmts</span><span class="method-args">(input)</span> </a> </div> <div class="method-description"> <p> parse statements (&#8217;&lt;?rb &#8230; ?&gt;&#8217;) </p> <p><a class="source-toggle" href="#" - onclick="toggleCode('M000052-source');return false;">[Source]</a></p> - <div class="method-source-code" id="M000052-source"> + onclick="toggleCode('M000054-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000054-source"> <pre> -<span class="ruby-comment cmt"># File lib/tenjin.rb, line 392</span> +<span class="ruby-comment cmt"># File lib/tenjin.rb, line 402</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_stmts</span>(<span class="ruby-identifier">input</span>) <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">input</span> <span class="ruby-identifier">is_bol</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-identifier">prev_rspace</span> = <span class="ruby-keyword kw">nil</span> <span class="ruby-identifier">pos</span> = <span class="ruby-value">0</span> @@ -769,54 +769,54 @@ </pre> </div> </div> </div> - <div id="method-M000057" class="method-detail"> - <a name="M000057"></a> + <div id="method-M000059" class="method-detail"> + <a name="M000059"></a> <div class="method-heading"> - <a href="#M000057" class="method-signature"> + <a href="#M000059" class="method-signature"> <span class="method-name">start_text_part</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> start text part </p> <p><a class="source-toggle" href="#" - onclick="toggleCode('M000057-source');return false;">[Source]</a></p> - <div class="method-source-code" id="M000057-source"> + onclick="toggleCode('M000059-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000059-source"> <pre> -<span class="ruby-comment cmt"># File lib/tenjin.rb, line 559</span> +<span class="ruby-comment cmt"># File lib/tenjin.rb, line 569</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start_text_part</span>() <span class="ruby-ivar">@script</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; _buf &lt;&lt; %Q`&quot;</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> - <div id="method-M000056" class="method-detail"> - <a name="M000056"></a> + <div id="method-M000058" class="method-detail"> + <a name="M000058"></a> <div class="method-heading"> - <a href="#M000056" class="method-signature"> + <a href="#M000058" class="method-signature"> <span class="method-name">statement_hook</span><span class="method-args">(stmt)</span> </a> </div> <div class="method-description"> <p> expand macros and parse &#8217;#@ARGS&#8217; in a statement. </p> <p><a class="source-toggle" href="#" - onclick="toggleCode('M000056-source');return false;">[Source]</a></p> - <div class="method-source-code" id="M000056-source"> + onclick="toggleCode('M000058-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000058-source"> <pre> -<span class="ruby-comment cmt"># File lib/tenjin.rb, line 500</span> +<span class="ruby-comment cmt"># File lib/tenjin.rb, line 510</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">statement_hook</span>(<span class="ruby-identifier">stmt</span>) <span class="ruby-comment cmt">## macro expantion</span> <span class="ruby-comment cmt">#macro_pattern = /\A\s*(\w+)\((.*?)\);?(\s*)\z/</span> <span class="ruby-comment cmt">#if macro_pattern =~ stmt</span> <span class="ruby-comment cmt"># name = $1; arg = $2; rspace = $3</span> @@ -850,50 +850,50 @@ </pre> </div> </div> </div> - <div id="method-M000051" class="method-detail"> - <a name="M000051"></a> + <div id="method-M000053" class="method-detail"> + <a name="M000053"></a> <div class="method-heading"> - <a href="#M000051" class="method-signature"> + <a href="#M000053" class="method-signature"> <span class="method-name">stmt_pattern</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p><a class="source-toggle" href="#" - onclick="toggleCode('M000051-source');return false;">[Source]</a></p> - <div class="method-source-code" id="M000051-source"> + onclick="toggleCode('M000053-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000053-source"> <pre> -<span class="ruby-comment cmt"># File lib/tenjin.rb, line 387</span> +<span class="ruby-comment cmt"># File lib/tenjin.rb, line 397</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stmt_pattern</span> <span class="ruby-constant">STMT_PATTERN</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> - <div id="method-M000058" class="method-detail"> - <a name="M000058"></a> + <div id="method-M000060" class="method-detail"> + <a name="M000060"></a> <div class="method-heading"> - <a href="#M000058" class="method-signature"> + <a href="#M000060" class="method-signature"> <span class="method-name">stop_text_part</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> stop text part </p> <p><a class="source-toggle" href="#" - onclick="toggleCode('M000058-source');return false;">[Source]</a></p> - <div class="method-source-code" id="M000058-source"> + onclick="toggleCode('M000060-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000060-source"> <pre> -<span class="ruby-comment cmt"># File lib/tenjin.rb, line 564</span> +<span class="ruby-comment cmt"># File lib/tenjin.rb, line 574</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stop_text_part</span>() <span class="ruby-ivar">@script</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'`'</span> <span class="ruby-keyword kw">end</span> </pre> </div> \ No newline at end of file