erubis 2.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. data/ChangeLog +150 -2
  2. data/LGPL +504 -0
  3. data/README.txt +14 -8
  4. data/benchmark/erubybench.rb +1 -1
  5. data/benchmark/erubybench.rhtml +3 -3
  6. data/bin/erubis +1 -1
  7. data/bin/notext +154 -0
  8. data/contrib/erubis +1036 -374
  9. data/contrib/inline-require +5 -3
  10. data/doc-api/classes/Erubis.html +43 -1
  11. data/doc-api/classes/Erubis/ArrayBufferEnhancer.html +14 -14
  12. data/doc-api/classes/Erubis/ArrayEnhancer.html +14 -14
  13. data/doc-api/classes/Erubis/Basic.html +112 -0
  14. data/doc-api/classes/Erubis/Basic/Converter.html +318 -0
  15. data/doc-api/classes/Erubis/Basic/Engine.html +130 -0
  16. data/doc-api/classes/Erubis/BiPatternEnhancer.html +14 -14
  17. data/doc-api/classes/Erubis/CGenerator.html +386 -0
  18. data/doc-api/classes/Erubis/Context.html +31 -32
  19. data/doc-api/classes/Erubis/Converter.html +231 -0
  20. data/doc-api/classes/Erubis/Ec.html +9 -283
  21. data/doc-api/classes/Erubis/Ejava.html +9 -274
  22. data/doc-api/classes/Erubis/Ejavascript.html +9 -298
  23. data/doc-api/classes/Erubis/Engine.html +68 -508
  24. data/doc-api/classes/Erubis/Eperl.html +9 -259
  25. data/doc-api/classes/Erubis/Ephp.html +9 -239
  26. data/doc-api/classes/Erubis/ErubisError.html +2 -2
  27. data/doc-api/classes/Erubis/Eruby.html +4 -187
  28. data/doc-api/classes/Erubis/EscapeEnhancer.html +9 -11
  29. data/doc-api/classes/Erubis/Escheme.html +9 -272
  30. data/doc-api/classes/Erubis/Evaluator.html +212 -0
  31. data/doc-api/classes/Erubis/Generator.html +410 -0
  32. data/doc-api/classes/Erubis/HeaderFooterEnhancer.html +16 -16
  33. data/doc-api/classes/Erubis/Helper.html +112 -0
  34. data/doc-api/classes/Erubis/Helper/CachedRailsTemplate.html +198 -0
  35. data/doc-api/classes/Erubis/Helper/RailsTemplate.html +366 -0
  36. data/doc-api/classes/Erubis/JavaGenerator.html +359 -0
  37. data/doc-api/classes/Erubis/JavascriptGenerator.html +381 -0
  38. data/doc-api/classes/Erubis/Main.html +27 -25
  39. data/doc-api/classes/Erubis/NoCodeEnhancer.html +249 -0
  40. data/doc-api/classes/Erubis/NoCodeEruby.html +120 -0
  41. data/doc-api/classes/Erubis/NoTextEnhancer.html +8 -8
  42. data/doc-api/classes/Erubis/NotSupportedError.html +119 -0
  43. data/doc-api/classes/Erubis/OptimizedEruby.html +22 -304
  44. data/doc-api/classes/Erubis/OptimizedGenerator.html +439 -0
  45. data/doc-api/classes/Erubis/OptimizedXmlEruby.html +7 -7
  46. data/doc-api/classes/Erubis/PI.html +124 -0
  47. data/doc-api/classes/Erubis/PI/Converter.html +318 -0
  48. data/doc-api/classes/Erubis/PI/Ec.html +166 -0
  49. data/doc-api/classes/Erubis/PI/Ejava.html +166 -0
  50. data/doc-api/classes/Erubis/PI/Ejavascript.html +166 -0
  51. data/doc-api/classes/Erubis/PI/Engine.html +122 -0
  52. data/doc-api/classes/Erubis/PI/Eperl.html +166 -0
  53. data/doc-api/classes/Erubis/PI/Ephp.html +166 -0
  54. data/doc-api/classes/Erubis/PI/Eruby.html +155 -0
  55. data/doc-api/classes/Erubis/PI/Escheme.html +166 -0
  56. data/doc-api/classes/Erubis/PI/TinyEruby.html +305 -0
  57. data/doc-api/classes/Erubis/PercentLineEnhancer.html +7 -7
  58. data/doc-api/classes/Erubis/PerlGenerator.html +344 -0
  59. data/doc-api/classes/Erubis/PhpGenerator.html +350 -0
  60. data/doc-api/classes/Erubis/PrintEnabledEnhancer.html +24 -24
  61. data/doc-api/classes/Erubis/PrintOutEnhancer.html +35 -35
  62. data/doc-api/classes/Erubis/RubyEvaluator.html +190 -0
  63. data/doc-api/classes/Erubis/RubyGenerator.html +327 -0
  64. data/doc-api/classes/Erubis/SchemeGenerator.html +382 -0
  65. data/doc-api/classes/Erubis/SimplifyEnhancer.html +17 -13
  66. data/doc-api/classes/Erubis/StdoutEnhancer.html +14 -14
  67. data/doc-api/classes/Erubis/StringBufferEnhancer.html +14 -14
  68. data/doc-api/classes/Erubis/TinyEruby.html +45 -40
  69. data/doc-api/classes/Erubis/XmlHelper.html +14 -14
  70. data/doc-api/created.rid +1 -1
  71. data/doc-api/files/__/README_txt.html +27 -9
  72. data/doc-api/files/erubis/context_rb.html +107 -0
  73. data/doc-api/files/erubis/converter_rb.html +114 -0
  74. data/doc-api/files/erubis/engine/ec_rb.html +2 -2
  75. data/doc-api/files/erubis/engine/ejava_rb.html +2 -2
  76. data/doc-api/files/erubis/engine/ejavascript_rb.html +2 -2
  77. data/doc-api/files/erubis/engine/enhanced_rb.html +2 -2
  78. data/doc-api/files/erubis/engine/eperl_rb.html +2 -2
  79. data/doc-api/files/erubis/engine/ephp_rb.html +2 -2
  80. data/doc-api/files/erubis/engine/eruby_rb.html +3 -2
  81. data/doc-api/files/erubis/engine/escheme_rb.html +2 -2
  82. data/doc-api/files/erubis/engine/optimized_rb.html +2 -2
  83. data/doc-api/files/erubis/engine_rb.html +6 -3
  84. data/doc-api/files/erubis/enhancer_rb.html +2 -9
  85. data/doc-api/files/erubis/error_rb.html +107 -0
  86. data/doc-api/files/erubis/evaluator_rb.html +115 -0
  87. data/doc-api/files/erubis/generator_rb.html +114 -0
  88. data/doc-api/files/erubis/helper/rails_rb.html +140 -0
  89. data/doc-api/files/erubis/helper_rb.html +1 -1
  90. data/doc-api/files/erubis/local-setting_rb.html +1 -1
  91. data/doc-api/files/erubis/main_rb.html +2 -2
  92. data/doc-api/files/erubis/tiny_rb.html +2 -2
  93. data/doc-api/files/erubis_rb.html +2 -2
  94. data/doc-api/fr_class_index.html +32 -0
  95. data/doc-api/fr_file_index.html +6 -0
  96. data/doc-api/fr_method_index.html +178 -136
  97. data/doc/users-guide.html +538 -199
  98. data/examples/{Makefile → basic/Makefile} +11 -11
  99. data/examples/basic/example.ec +42 -0
  100. data/examples/{example.ejava → basic/example.ejava} +5 -1
  101. data/examples/{example.ejavascript → basic/example.ejs} +0 -0
  102. data/examples/{example.eperl → basic/example.eperl} +2 -2
  103. data/examples/{example.ephp → basic/example.ephp} +0 -0
  104. data/examples/{example.eruby → basic/example.eruby} +0 -0
  105. data/examples/{example.escheme → basic/example.escheme} +0 -0
  106. data/examples/pi/Makefile +54 -0
  107. data/examples/pi/example.ec +42 -0
  108. data/examples/pi/example.ejava +45 -0
  109. data/examples/pi/example.ejs +16 -0
  110. data/examples/pi/example.eperl +16 -0
  111. data/examples/pi/example.ephp +17 -0
  112. data/examples/pi/example.eruby +15 -0
  113. data/examples/pi/example.escheme +26 -0
  114. data/lib/erubis.rb +15 -8
  115. data/lib/erubis/context.rb +54 -0
  116. data/lib/erubis/converter.rb +307 -0
  117. data/lib/erubis/engine.rb +57 -227
  118. data/lib/erubis/engine/ec.rb +31 -20
  119. data/lib/erubis/engine/ejava.rb +33 -21
  120. data/lib/erubis/engine/ejavascript.rb +30 -18
  121. data/lib/erubis/engine/enhanced.rb +7 -2
  122. data/lib/erubis/engine/eperl.rb +33 -19
  123. data/lib/erubis/engine/ephp.rb +32 -14
  124. data/lib/erubis/engine/eruby.rb +34 -7
  125. data/lib/erubis/engine/escheme.rb +34 -15
  126. data/lib/erubis/engine/optimized.rb +25 -11
  127. data/lib/erubis/enhancer.rb +53 -19
  128. data/lib/erubis/error.rb +24 -0
  129. data/lib/erubis/evaluator.rb +71 -0
  130. data/lib/erubis/generator.rb +83 -0
  131. data/lib/erubis/helper.rb +1 -1
  132. data/lib/erubis/helper/rails.rb +159 -0
  133. data/lib/erubis/local-setting.rb +1 -1
  134. data/lib/erubis/main.rb +87 -46
  135. data/lib/erubis/tiny.rb +81 -7
  136. data/test/assert-text-equal.rb +1 -1
  137. data/test/test-engines.rb +8 -9
  138. data/test/test-erubis.rb +196 -18
  139. data/test/{test-bin.rb → test-main.rb} +123 -21
  140. data/test/test-notext.rb +27 -0
  141. data/test/test.rb +5 -3
  142. data/test/testutil.rb +25 -36
  143. metadata +75 -13
  144. data/COPYING +0 -340
  145. data/examples/example.ec +0 -24
@@ -80,7 +80,7 @@ remove text and leave code, especially useful when debugging.
80
80
  ex.
81
81
  </p>
82
82
  <pre>
83
- $ erubis -s -e NoText file.eruby | more
83
+ $ erubis -s -E NoText file.eruby | more
84
84
  </pre>
85
85
  <p>
86
86
  this is language independent.
@@ -95,7 +95,7 @@ this is language independent.
95
95
  <h3 class="section-bar">Methods</h3>
96
96
 
97
97
  <div class="name-list">
98
- <a href="#M000023">add_text</a>&nbsp;&nbsp;
98
+ <a href="#M000153">add_text</a>&nbsp;&nbsp;
99
99
  </div>
100
100
  </div>
101
101
 
@@ -117,21 +117,21 @@ this is language independent.
117
117
  <div id="methods">
118
118
  <h3 class="section-bar">Public Instance methods</h3>
119
119
 
120
- <div id="method-M000023" class="method-detail">
121
- <a name="M000023"></a>
120
+ <div id="method-M000153" class="method-detail">
121
+ <a name="M000153"></a>
122
122
 
123
123
  <div class="method-heading">
124
- <a href="#M000023" class="method-signature">
124
+ <a href="#M000153" class="method-signature">
125
125
  <span class="method-name">add_text</span><span class="method-args">(src, text)</span>
126
126
  </a>
127
127
  </div>
128
128
 
129
129
  <div class="method-description">
130
130
  <p><a class="source-toggle" href="#"
131
- onclick="toggleCode('M000023-source');return false;">[Source]</a></p>
132
- <div class="method-source-code" id="M000023-source">
131
+ onclick="toggleCode('M000153-source');return false;">[Source]</a></p>
132
+ <div class="method-source-code" id="M000153-source">
133
133
  <pre>
134
- <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 265</span>
134
+ <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 260</span>
135
135
  <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>)
136
136
  <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-value str">&quot;\n&quot;</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">text</span>.<span class="ruby-identifier">count</span>(<span class="ruby-value str">&quot;\n&quot;</span>))
137
137
  <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">text</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">?\n</span>
@@ -0,0 +1,119 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: Erubis::NotSupportedError</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">Erubis::NotSupportedError</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/erubis/error_rb.html">
59
+ erubis/error.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ <a href="ErubisError.html">
69
+ ErubisError
70
+ </a>
71
+ </td>
72
+ </tr>
73
+ </table>
74
+ </div>
75
+ <!-- banner header -->
76
+
77
+ <div id="bodyContent">
78
+
79
+
80
+
81
+ <div id="contextContent">
82
+
83
+ <div id="description">
84
+ <p>
85
+ raised when method or function is not supported
86
+ </p>
87
+
88
+ </div>
89
+
90
+
91
+ </div>
92
+
93
+
94
+ </div>
95
+
96
+
97
+ <!-- if includes -->
98
+
99
+ <div id="section">
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+ <!-- if method_list -->
109
+
110
+
111
+ </div>
112
+
113
+
114
+ <div id="validator-badges">
115
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
116
+ </div>
117
+
118
+ </body>
119
+ </html>
@@ -65,8 +65,8 @@
65
65
  <tr class="top-aligned-row">
66
66
  <td><strong>Parent:</strong></td>
67
67
  <td>
68
- <a href="Engine.html">
69
- Engine
68
+ <a href="Basic/Engine.html">
69
+ Basic::Engine
70
70
  </a>
71
71
  </td>
72
72
  </tr>
@@ -94,18 +94,7 @@
94
94
  <h3 class="section-bar">Methods</h3>
95
95
 
96
96
  <div class="name-list">
97
- <a href="#M000090">add_expr_debug</a>&nbsp;&nbsp;
98
- <a href="#M000089">add_expr_escaped</a>&nbsp;&nbsp;
99
- <a href="#M000088">add_expr_literal</a>&nbsp;&nbsp;
100
- <a href="#M000091">add_postamble</a>&nbsp;&nbsp;
101
- <a href="#M000085">add_preamble</a>&nbsp;&nbsp;
102
- <a href="#M000087">add_stmt</a>&nbsp;&nbsp;
103
- <a href="#M000086">add_text</a>&nbsp;&nbsp;
104
- <a href="#M000081">escape_text</a>&nbsp;&nbsp;
105
- <a href="#M000082">escaped_expr</a>&nbsp;&nbsp;
106
- <a href="#M000080">new</a>&nbsp;&nbsp;
107
- <a href="#M000083">switch_to_expr</a>&nbsp;&nbsp;
108
- <a href="#M000084">switch_to_stmt</a>&nbsp;&nbsp;
97
+ <a href="#M000170">init_converter</a>&nbsp;&nbsp;
109
98
  </div>
110
99
  </div>
111
100
 
@@ -113,6 +102,14 @@
113
102
 
114
103
 
115
104
  <!-- if includes -->
105
+ <div id="includes">
106
+ <h3 class="section-bar">Included Modules</h3>
107
+
108
+ <div id="includes-list">
109
+ <span class="include-name"><a href="RubyEvaluator.html">RubyEvaluator</a></span>
110
+ <span class="include-name"><a href="OptimizedGenerator.html">OptimizedGenerator</a></span>
111
+ </div>
112
+ </div>
116
113
 
117
114
  <div id="section">
118
115
 
@@ -125,305 +122,26 @@
125
122
 
126
123
  <!-- if method_list -->
127
124
  <div id="methods">
128
- <h3 class="section-bar">Public Class methods</h3>
129
-
130
- <div id="method-M000080" class="method-detail">
131
- <a name="M000080"></a>
132
-
133
- <div class="method-heading">
134
- <a href="#M000080" class="method-signature">
135
- <span class="method-name">new</span><span class="method-args">(input, properties={})</span>
136
- </a>
137
- </div>
138
-
139
- <div class="method-description">
140
- <p><a class="source-toggle" href="#"
141
- onclick="toggleCode('M000080-source');return false;">[Source]</a></p>
142
- <div class="method-source-code" id="M000080-source">
143
- <pre>
144
- <span class="ruby-comment cmt"># File erubis/engine/optimized.rb, line 23</span>
145
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">input</span>, <span class="ruby-identifier">properties</span>={})
146
- <span class="ruby-ivar">@initialized</span> = <span class="ruby-keyword kw">false</span>
147
- <span class="ruby-ivar">@prev_is_expr</span> = <span class="ruby-keyword kw">false</span>
148
- <span class="ruby-keyword kw">super</span>
149
- <span class="ruby-keyword kw">end</span>
150
- </pre>
151
- </div>
152
- </div>
153
- </div>
154
-
155
- <h3 class="section-bar">Protected Instance methods</h3>
156
-
157
- <div id="method-M000090" class="method-detail">
158
- <a name="M000090"></a>
159
-
160
- <div class="method-heading">
161
- <a href="#M000090" class="method-signature">
162
- <span class="method-name">add_expr_debug</span><span class="method-args">(src, code)</span>
163
- </a>
164
- </div>
165
-
166
- <div class="method-description">
167
- <p><a class="source-toggle" href="#"
168
- onclick="toggleCode('M000090-source');return false;">[Source]</a></p>
169
- <div class="method-source-code" id="M000090-source">
170
- <pre>
171
- <span class="ruby-comment cmt"># File erubis/engine/optimized.rb, line 87</span>
172
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_expr_debug</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">code</span>)
173
- <span class="ruby-identifier">code</span>.<span class="ruby-identifier">strip!</span>
174
- <span class="ruby-identifier">s</span> = (<span class="ruby-identifier">code</span>.<span class="ruby-identifier">dump</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/\A&quot;(.*)&quot;\z/</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">$1</span>
175
- <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">' $stderr.puts(&quot;*** debug: '</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'=#{('</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">code</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">').inspect}&quot;);'</span>
176
- <span class="ruby-keyword kw">end</span>
177
- </pre>
178
- </div>
179
- </div>
180
- </div>
181
-
182
- <div id="method-M000089" class="method-detail">
183
- <a name="M000089"></a>
184
-
185
- <div class="method-heading">
186
- <a href="#M000089" class="method-signature">
187
- <span class="method-name">add_expr_escaped</span><span class="method-args">(src, code)</span>
188
- </a>
189
- </div>
190
-
191
- <div class="method-description">
192
- <p><a class="source-toggle" href="#"
193
- onclick="toggleCode('M000089-source');return false;">[Source]</a></p>
194
- <div class="method-source-code" id="M000089-source">
195
- <pre>
196
- <span class="ruby-comment cmt"># File erubis/engine/optimized.rb, line 81</span>
197
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_expr_escaped</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">code</span>)
198
- <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@initialized</span>; <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;_buf = ''&quot;</span>; <span class="ruby-ivar">@initialized</span> = <span class="ruby-keyword kw">true</span>; <span class="ruby-keyword kw">end</span>
199
- <span class="ruby-identifier">switch_to_expr</span>(<span class="ruby-identifier">src</span>)
200
- <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; &lt;&lt; &quot;</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">escaped_expr</span>(<span class="ruby-identifier">code</span>)
201
- <span class="ruby-keyword kw">end</span>
202
- </pre>
203
- </div>
204
- </div>
205
- </div>
206
-
207
- <div id="method-M000088" class="method-detail">
208
- <a name="M000088"></a>
209
-
210
- <div class="method-heading">
211
- <a href="#M000088" class="method-signature">
212
- <span class="method-name">add_expr_literal</span><span class="method-args">(src, code)</span>
213
- </a>
214
- </div>
215
-
216
- <div class="method-description">
217
- <p><a class="source-toggle" href="#"
218
- onclick="toggleCode('M000088-source');return false;">[Source]</a></p>
219
- <div class="method-source-code" id="M000088-source">
220
- <pre>
221
- <span class="ruby-comment cmt"># File erubis/engine/optimized.rb, line 75</span>
222
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_expr_literal</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">code</span>)
223
- <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@initialized</span>; <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;_buf = ''&quot;</span>; <span class="ruby-ivar">@initialized</span> = <span class="ruby-keyword kw">true</span>; <span class="ruby-keyword kw">end</span>
224
- <span class="ruby-identifier">switch_to_expr</span>(<span class="ruby-identifier">src</span>)
225
- <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; &lt;&lt; (&quot;</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">code</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;).to_s&quot;</span>
226
- <span class="ruby-keyword kw">end</span>
227
- </pre>
228
- </div>
229
- </div>
230
- </div>
231
-
232
- <div id="method-M000091" class="method-detail">
233
- <a name="M000091"></a>
234
-
235
- <div class="method-heading">
236
- <a href="#M000091" class="method-signature">
237
- <span class="method-name">add_postamble</span><span class="method-args">(src)</span>
238
- </a>
239
- </div>
240
-
241
- <div class="method-description">
242
- <p><a class="source-toggle" href="#"
243
- onclick="toggleCode('M000091-source');return false;">[Source]</a></p>
244
- <div class="method-source-code" id="M000091-source">
245
- <pre>
246
- <span class="ruby-comment cmt"># File erubis/engine/optimized.rb, line 93</span>
247
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_postamble</span>(<span class="ruby-identifier">src</span>)
248
- <span class="ruby-comment cmt">#super if @initialized</span>
249
- <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n_buf\n&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@initialized</span>
250
- <span class="ruby-keyword kw">end</span>
251
- </pre>
252
- </div>
253
- </div>
254
- </div>
255
-
256
- <div id="method-M000085" class="method-detail">
257
- <a name="M000085"></a>
258
-
259
- <div class="method-heading">
260
- <a href="#M000085" class="method-signature">
261
- <span class="method-name">add_preamble</span><span class="method-args">(src)</span>
262
- </a>
263
- </div>
264
-
265
- <div class="method-description">
266
- <p><a class="source-toggle" href="#"
267
- onclick="toggleCode('M000085-source');return false;">[Source]</a></p>
268
- <div class="method-source-code" id="M000085-source">
269
- <pre>
270
- <span class="ruby-comment cmt"># File erubis/engine/optimized.rb, line 52</span>
271
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_preamble</span>(<span class="ruby-identifier">src</span>)
272
- <span class="ruby-comment cmt">#@initialized = false</span>
273
- <span class="ruby-comment cmt">#@prev_is_expr = false</span>
274
- <span class="ruby-keyword kw">end</span>
275
- </pre>
276
- </div>
277
- </div>
278
- </div>
279
-
280
- <div id="method-M000087" class="method-detail">
281
- <a name="M000087"></a>
282
-
283
- <div class="method-heading">
284
- <a href="#M000087" class="method-signature">
285
- <span class="method-name">add_stmt</span><span class="method-args">(src, code)</span>
286
- </a>
287
- </div>
288
-
289
- <div class="method-description">
290
- <p><a class="source-toggle" href="#"
291
- onclick="toggleCode('M000087-source');return false;">[Source]</a></p>
292
- <div class="method-source-code" id="M000087-source">
293
- <pre>
294
- <span class="ruby-comment cmt"># File erubis/engine/optimized.rb, line 68</span>
295
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_stmt</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">code</span>)
296
- <span class="ruby-identifier">switch_to_stmt</span>(<span class="ruby-identifier">src</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@initialized</span>
297
- <span class="ruby-comment cmt">#super</span>
298
- <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">code</span>
299
- <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">';'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">code</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?\n</span>
300
- <span class="ruby-keyword kw">end</span>
301
- </pre>
302
- </div>
303
- </div>
304
- </div>
305
-
306
- <div id="method-M000086" class="method-detail">
307
- <a name="M000086"></a>
308
-
309
- <div class="method-heading">
310
- <a href="#M000086" class="method-signature">
311
- <span class="method-name">add_text</span><span class="method-args">(src, text)</span>
312
- </a>
313
- </div>
314
-
315
- <div class="method-description">
316
- <p><a class="source-toggle" href="#"
317
- onclick="toggleCode('M000086-source');return false;">[Source]</a></p>
318
- <div class="method-source-code" id="M000086-source">
319
- <pre>
320
- <span class="ruby-comment cmt"># File erubis/engine/optimized.rb, line 57</span>
321
- <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>)
322
- <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">text</span>.<span class="ruby-identifier">empty?</span>
323
- <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@initialized</span>
324
- <span class="ruby-identifier">switch_to_expr</span>(<span class="ruby-identifier">src</span>)
325
- <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; &lt;&lt; '&quot;</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">escape_text</span>(<span class="ruby-identifier">text</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;'&quot;</span>
326
- <span class="ruby-keyword kw">else</span>
327
- <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;_buf = '&quot;</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">escape_text</span>(<span class="ruby-identifier">text</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;';&quot;</span>
328
- <span class="ruby-ivar">@initialized</span> = <span class="ruby-keyword kw">true</span>
329
- <span class="ruby-keyword kw">end</span>
330
- <span class="ruby-keyword kw">end</span>
331
- </pre>
332
- </div>
333
- </div>
334
- </div>
335
-
336
- <div id="method-M000081" class="method-detail">
337
- <a name="M000081"></a>
338
-
339
- <div class="method-heading">
340
- <a href="#M000081" class="method-signature">
341
- <span class="method-name">escape_text</span><span class="method-args">(text)</span>
342
- </a>
343
- </div>
344
-
345
- <div class="method-description">
346
- <p><a class="source-toggle" href="#"
347
- onclick="toggleCode('M000081-source');return false;">[Source]</a></p>
348
- <div class="method-source-code" id="M000081-source">
349
- <pre>
350
- <span class="ruby-comment cmt"># File erubis/engine/optimized.rb, line 31</span>
351
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">escape_text</span>(<span class="ruby-identifier">text</span>)
352
- <span class="ruby-identifier">text</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/['\\]/</span>, <span class="ruby-value str">'\\\\\&amp;'</span>) <span class="ruby-comment cmt"># &quot;'&quot; =&gt; &quot;\\'&quot;, '\\' =&gt; '\\\\'</span>
353
- <span class="ruby-keyword kw">end</span>
354
- </pre>
355
- </div>
356
- </div>
357
- </div>
358
-
359
- <div id="method-M000082" class="method-detail">
360
- <a name="M000082"></a>
361
-
362
- <div class="method-heading">
363
- <a href="#M000082" class="method-signature">
364
- <span class="method-name">escaped_expr</span><span class="method-args">(code)</span>
365
- </a>
366
- </div>
367
-
368
- <div class="method-description">
369
- <p><a class="source-toggle" href="#"
370
- onclick="toggleCode('M000082-source');return false;">[Source]</a></p>
371
- <div class="method-source-code" id="M000082-source">
372
- <pre>
373
- <span class="ruby-comment cmt"># File erubis/engine/optimized.rb, line 35</span>
374
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">escaped_expr</span>(<span class="ruby-identifier">code</span>)
375
- <span class="ruby-ivar">@escape</span> <span class="ruby-operator">||=</span> <span class="ruby-value str">'Erubis::XmlHelper.escape_xml'</span>
376
- <span class="ruby-keyword kw">return</span> <span class="ruby-node">&quot;#{@escape}(#{code})&quot;</span>
377
- <span class="ruby-keyword kw">end</span>
378
- </pre>
379
- </div>
380
- </div>
381
- </div>
382
-
383
- <div id="method-M000083" class="method-detail">
384
- <a name="M000083"></a>
385
-
386
- <div class="method-heading">
387
- <a href="#M000083" class="method-signature">
388
- <span class="method-name">switch_to_expr</span><span class="method-args">(src)</span>
389
- </a>
390
- </div>
391
-
392
- <div class="method-description">
393
- <p><a class="source-toggle" href="#"
394
- onclick="toggleCode('M000083-source');return false;">[Source]</a></p>
395
- <div class="method-source-code" id="M000083-source">
396
- <pre>
397
- <span class="ruby-comment cmt"># File erubis/engine/optimized.rb, line 40</span>
398
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">switch_to_expr</span>(<span class="ruby-identifier">src</span>)
399
- <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@prev_is_expr</span>
400
- <span class="ruby-ivar">@prev_is_expr</span> = <span class="ruby-keyword kw">true</span>
401
- <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">' _buf'</span>
402
- <span class="ruby-keyword kw">end</span>
403
- </pre>
404
- </div>
405
- </div>
406
- </div>
125
+ <h3 class="section-bar">Public Instance methods</h3>
407
126
 
408
- <div id="method-M000084" class="method-detail">
409
- <a name="M000084"></a>
127
+ <div id="method-M000170" class="method-detail">
128
+ <a name="M000170"></a>
410
129
 
411
130
  <div class="method-heading">
412
- <a href="#M000084" class="method-signature">
413
- <span class="method-name">switch_to_stmt</span><span class="method-args">(src)</span>
131
+ <a href="#M000170" class="method-signature">
132
+ <span class="method-name">init_converter</span><span class="method-args">(properties={})</span>
414
133
  </a>
415
134
  </div>
416
135
 
417
136
  <div class="method-description">
418
137
  <p><a class="source-toggle" href="#"
419
- onclick="toggleCode('M000084-source');return false;">[Source]</a></p>
420
- <div class="method-source-code" id="M000084-source">
138
+ onclick="toggleCode('M000170-source');return false;">[Source]</a></p>
139
+ <div class="method-source-code" id="M000170-source">
421
140
  <pre>
422
- <span class="ruby-comment cmt"># File erubis/engine/optimized.rb, line 46</span>
423
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">switch_to_stmt</span>(<span class="ruby-identifier">src</span>)
424
- <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@prev_is_expr</span>
425
- <span class="ruby-ivar">@prev_is_expr</span> = <span class="ruby-keyword kw">false</span>
426
- <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">';'</span>
141
+ <span class="ruby-comment cmt"># File erubis/engine/optimized.rb, line 107</span>
142
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">init_converter</span>(<span class="ruby-identifier">properties</span>={})
143
+ <span class="ruby-ivar">@pi</span> = <span class="ruby-value str">'rb'</span>
144
+ <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">properties</span>)
427
145
  <span class="ruby-keyword kw">end</span>
428
146
  </pre>
429
147
  </div>