erubis 2.6.6 → 2.7.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 (148) hide show
  1. data/CHANGES.txt +79 -3
  2. data/MIT-LICENSE +1 -1
  3. data/README.txt +2 -2
  4. data/benchmark/bench.rb +2 -2
  5. data/bin/erubis +2 -2
  6. data/contrib/erubis +293 -155
  7. data/contrib/inline-require +2 -2
  8. data/doc-api/classes/Erubis.html +10 -1
  9. data/doc-api/classes/Erubis/ArrayBufferEnhancer.html +12 -12
  10. data/doc-api/classes/Erubis/ArrayEnhancer.html +14 -14
  11. data/doc-api/classes/Erubis/Basic/Converter.html +24 -24
  12. data/doc-api/classes/Erubis/BiPatternEnhancer.html +12 -12
  13. data/doc-api/classes/Erubis/CGenerator.html +60 -60
  14. data/doc-api/classes/Erubis/Context.html +42 -42
  15. data/doc-api/classes/Erubis/Converter.html +27 -27
  16. data/doc-api/classes/Erubis/CppGenerator.html +382 -0
  17. data/doc-api/classes/Erubis/DeleteIndentEnhancer.html +7 -7
  18. data/doc-api/classes/Erubis/Ecpp.html +126 -0
  19. data/doc-api/classes/Erubis/Engine.html +36 -36
  20. data/doc-api/classes/Erubis/ErboutEnhancer.html +14 -14
  21. data/doc-api/classes/Erubis/EscapeEnhancer.html +6 -6
  22. data/doc-api/classes/Erubis/EscapedEcpp.html +120 -0
  23. data/doc-api/classes/Erubis/Evaluator.html +19 -19
  24. data/doc-api/classes/Erubis/Generator.html +60 -60
  25. data/doc-api/classes/Erubis/HeaderFooterEnhancer.html +14 -14
  26. data/doc-api/classes/Erubis/Helpers/RailsFormHelper.html +150 -150
  27. data/doc-api/classes/Erubis/Helpers/RailsHelper.html +49 -49
  28. data/doc-api/classes/Erubis/Helpers/RailsHelper/TemplateConverter.html +24 -24
  29. data/doc-api/classes/Erubis/InterpolationEnhancer.html +38 -39
  30. data/doc-api/classes/Erubis/JavaGenerator.html +60 -60
  31. data/doc-api/classes/Erubis/JavascriptGenerator.html +66 -66
  32. data/doc-api/classes/Erubis/Main.html +22 -22
  33. data/doc-api/classes/Erubis/NoCodeEnhancer.html +30 -30
  34. data/doc-api/classes/Erubis/NoTextEnhancer.html +6 -6
  35. data/doc-api/classes/Erubis/OptimizedEruby.html +6 -6
  36. data/doc-api/classes/Erubis/OptimizedGenerator.html +72 -72
  37. data/doc-api/classes/Erubis/OptimizedXmlEruby.html +6 -6
  38. data/doc-api/classes/Erubis/PI.html +1 -0
  39. data/doc-api/classes/Erubis/PI/Converter.html +18 -18
  40. data/doc-api/classes/Erubis/PI/Ec.html +6 -6
  41. data/doc-api/classes/Erubis/PI/Ecpp.html +166 -0
  42. data/doc-api/classes/Erubis/PI/Ejava.html +6 -6
  43. data/doc-api/classes/Erubis/PI/Ejavascript.html +6 -6
  44. data/doc-api/classes/Erubis/PI/Eperl.html +6 -6
  45. data/doc-api/classes/Erubis/PI/Ephp.html +6 -6
  46. data/doc-api/classes/Erubis/PI/Eruby.html +7 -7
  47. data/doc-api/classes/Erubis/PI/Escheme.html +6 -6
  48. data/doc-api/classes/Erubis/PI/TinyEruby.html +24 -24
  49. data/doc-api/classes/Erubis/PercentLineEnhancer.html +18 -34
  50. data/doc-api/classes/Erubis/PerlGenerator.html +54 -54
  51. data/doc-api/classes/Erubis/PhpGenerator.html +54 -54
  52. data/doc-api/classes/Erubis/PrefixedLineEnhancer.html +210 -0
  53. data/doc-api/classes/Erubis/PrefixedLineEruby.html +120 -0
  54. data/doc-api/classes/Erubis/PreprocessingEruby.html +12 -12
  55. data/doc-api/classes/Erubis/PreprocessingHelper.html +22 -22
  56. data/doc-api/classes/Erubis/PrintEnabledEnhancer.html +20 -20
  57. data/doc-api/classes/Erubis/PrintOutEnhancer.html +33 -33
  58. data/doc-api/classes/Erubis/RubyEvaluator.html +18 -18
  59. data/doc-api/classes/Erubis/RubyGenerator.html +59 -58
  60. data/doc-api/classes/Erubis/SchemeGenerator.html +60 -60
  61. data/doc-api/classes/Erubis/SimplifyEnhancer.html +7 -7
  62. data/doc-api/classes/Erubis/StdoutEnhancer.html +13 -13
  63. data/doc-api/classes/Erubis/StringBufferEnhancer.html +14 -14
  64. data/doc-api/classes/Erubis/TinyEruby.html +24 -24
  65. data/doc-api/classes/Erubis/XmlHelper.html +30 -30
  66. data/doc-api/classes/Kernel.html +155 -0
  67. data/doc-api/created.rid +1 -1
  68. data/doc-api/files/README_txt.html +3 -3
  69. data/doc-api/files/erubis/context_rb.html +1 -1
  70. data/doc-api/files/erubis/converter_rb.html +3 -3
  71. data/doc-api/files/erubis/engine/ec_rb.html +1 -1
  72. data/doc-api/files/erubis/engine/ecpp_rb.html +115 -0
  73. data/doc-api/files/erubis/engine/ejava_rb.html +2 -2
  74. data/doc-api/files/erubis/engine/ejavascript_rb.html +2 -2
  75. data/doc-api/files/erubis/engine/enhanced_rb.html +2 -2
  76. data/doc-api/files/erubis/engine/eperl_rb.html +1 -1
  77. data/doc-api/files/erubis/engine/ephp_rb.html +1 -1
  78. data/doc-api/files/erubis/engine/eruby_rb.html +2 -2
  79. data/doc-api/files/erubis/engine/escheme_rb.html +1 -1
  80. data/doc-api/files/erubis/engine/optimized_rb.html +1 -1
  81. data/doc-api/files/erubis/engine_rb.html +2 -2
  82. data/doc-api/files/erubis/enhancer_rb.html +2 -2
  83. data/doc-api/files/erubis/error_rb.html +1 -1
  84. data/doc-api/files/erubis/evaluator_rb.html +1 -1
  85. data/doc-api/files/erubis/generator_rb.html +3 -3
  86. data/doc-api/files/erubis/helper_rb.html +1 -1
  87. data/doc-api/files/erubis/helpers/rails_form_helper_rb.html +1 -1
  88. data/doc-api/files/erubis/helpers/rails_helper_rb.html +1 -1
  89. data/doc-api/files/erubis/local-setting_rb.html +1 -1
  90. data/doc-api/files/erubis/main_rb.html +4 -2
  91. data/doc-api/files/erubis/preprocessing_rb.html +1 -1
  92. data/doc-api/files/erubis/tiny_rb.html +1 -1
  93. data/doc-api/files/erubis/util_rb.html +107 -0
  94. data/doc-api/files/erubis_rb.html +2 -2
  95. data/doc-api/fr_class_index.html +7 -0
  96. data/doc-api/fr_file_index.html +2 -0
  97. data/doc-api/fr_method_index.html +237 -223
  98. data/doc/docstyle.css +25 -4
  99. data/doc/users-guide.html +286 -21
  100. data/examples/basic/Makefile +7 -2
  101. data/examples/basic/example.ecpp +33 -0
  102. data/lib/erubis.rb +4 -3
  103. data/lib/erubis/context.rb +2 -2
  104. data/lib/erubis/converter.rb +3 -3
  105. data/lib/erubis/engine.rb +8 -8
  106. data/lib/erubis/engine/ec.rb +2 -2
  107. data/lib/erubis/engine/ecpp.rb +113 -0
  108. data/lib/erubis/engine/ejava.rb +9 -9
  109. data/lib/erubis/engine/ejavascript.rb +9 -9
  110. data/lib/erubis/engine/enhanced.rb +7 -2
  111. data/lib/erubis/engine/eperl.rb +2 -2
  112. data/lib/erubis/engine/ephp.rb +2 -2
  113. data/lib/erubis/engine/eruby.rb +8 -7
  114. data/lib/erubis/engine/escheme.rb +2 -2
  115. data/lib/erubis/engine/optimized.rb +2 -2
  116. data/lib/erubis/enhancer.rb +70 -27
  117. data/lib/erubis/error.rb +2 -2
  118. data/lib/erubis/evaluator.rb +2 -2
  119. data/lib/erubis/generator.rb +3 -3
  120. data/lib/erubis/helper.rb +2 -2
  121. data/lib/erubis/helpers/rails_form_helper.rb +2 -2
  122. data/lib/erubis/helpers/rails_helper.rb +2 -2
  123. data/lib/erubis/local-setting.rb +2 -2
  124. data/lib/erubis/main.rb +31 -4
  125. data/lib/erubis/preprocessing.rb +2 -2
  126. data/lib/erubis/tiny.rb +2 -2
  127. data/lib/erubis/util.rb +22 -0
  128. data/test/assert-text-equal.rb +2 -2
  129. data/test/data/users-guide/bufvar-example.rb +10 -0
  130. data/test/data/users-guide/bufvar-example.result +17 -0
  131. data/test/data/users-guide/example.ecpp +30 -0
  132. data/test/data/users-guide/example_c.result +22 -19
  133. data/test/data/users-guide/fasteruby-example.rb +8 -0
  134. data/test/data/users-guide/fasteruby-example.result +18 -0
  135. data/test/data/users-guide/percentline-example.rhtml +3 -1
  136. data/test/data/users-guide/percentline_example.result +5 -3
  137. data/test/data/users-guide/prefixedline-example.rb +9 -0
  138. data/test/data/users-guide/prefixedline-example.rhtml +6 -0
  139. data/test/data/users-guide/prefixedline_example.result +9 -0
  140. data/test/test-engines.rb +58 -2
  141. data/test/test-enhancers.rb +51 -2
  142. data/test/test-erubis.rb +14 -10
  143. data/test/test-index-cgi.rb +191 -0
  144. data/test/test-main.rb +35 -4
  145. data/test/test-users-guide.rb +18 -2
  146. data/test/test.rb +18 -2
  147. data/test/testutil.rb +22 -7
  148. metadata +30 -24
@@ -86,9 +86,9 @@ evaluator for Ruby
86
86
  <h3 class="section-bar">Methods</h3>
87
87
 
88
88
  <div class="name-list">
89
- <a href="#M000197">def_method</a>&nbsp;&nbsp;
90
- <a href="#M000196">evaluate</a>&nbsp;&nbsp;
91
- <a href="#M000195">result</a>&nbsp;&nbsp;
89
+ <a href="#M000210">def_method</a>&nbsp;&nbsp;
90
+ <a href="#M000209">evaluate</a>&nbsp;&nbsp;
91
+ <a href="#M000208">result</a>&nbsp;&nbsp;
92
92
  </div>
93
93
  </div>
94
94
 
@@ -117,11 +117,11 @@ evaluator for Ruby
117
117
  <div id="methods">
118
118
  <h3 class="section-bar">Public Instance methods</h3>
119
119
 
120
- <div id="method-M000197" class="method-detail">
121
- <a name="M000197"></a>
120
+ <div id="method-M000210" class="method-detail">
121
+ <a name="M000210"></a>
122
122
 
123
123
  <div class="method-heading">
124
- <a href="#M000197" class="method-signature">
124
+ <a href="#M000210" class="method-signature">
125
125
  <span class="method-name">def_method</span><span class="method-args">(object, method_name, filename=nil)</span>
126
126
  </a>
127
127
  </div>
@@ -132,8 +132,8 @@ if object is an Class or Module then define instance method to it, else
132
132
  define singleton method to it.
133
133
  </p>
134
134
  <p><a class="source-toggle" href="#"
135
- onclick="toggleCode('M000197-source');return false;">[Source]</a></p>
136
- <div class="method-source-code" id="M000197-source">
135
+ onclick="toggleCode('M000210-source');return false;">[Source]</a></p>
136
+ <div class="method-source-code" id="M000210-source">
137
137
  <pre>
138
138
  <span class="ruby-comment cmt"># File erubis/evaluator.rb, line 79</span>
139
139
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">def_method</span>(<span class="ruby-identifier">object</span>, <span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">filename</span>=<span class="ruby-keyword kw">nil</span>)
@@ -145,11 +145,11 @@ define singleton method to it.
145
145
  </div>
146
146
  </div>
147
147
 
148
- <div id="method-M000196" class="method-detail">
149
- <a name="M000196"></a>
148
+ <div id="method-M000209" class="method-detail">
149
+ <a name="M000209"></a>
150
150
 
151
151
  <div class="method-heading">
152
- <a href="#M000196" class="method-signature">
152
+ <a href="#M000209" class="method-signature">
153
153
  <span class="method-name">evaluate</span><span class="method-args">(_context=Context.new)</span>
154
154
  </a>
155
155
  </div>
@@ -159,8 +159,8 @@ define singleton method to it.
159
159
  invoke context.instance_eval(@src)
160
160
  </p>
161
161
  <p><a class="source-toggle" href="#"
162
- onclick="toggleCode('M000196-source');return false;">[Source]</a></p>
163
- <div class="method-source-code" id="M000196-source">
162
+ onclick="toggleCode('M000209-source');return false;">[Source]</a></p>
163
+ <div class="method-source-code" id="M000209-source">
164
164
  <pre>
165
165
  <span class="ruby-comment cmt"># File erubis/evaluator.rb, line 69</span>
166
166
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">evaluate</span>(<span class="ruby-identifier">_context</span>=<span class="ruby-constant">Context</span>.<span class="ruby-identifier">new</span>)
@@ -175,11 +175,11 @@ invoke context.instance_eval(@src)
175
175
  </div>
176
176
  </div>
177
177
 
178
- <div id="method-M000195" class="method-detail">
179
- <a name="M000195"></a>
178
+ <div id="method-M000208" class="method-detail">
179
+ <a name="M000208"></a>
180
180
 
181
181
  <div class="method-heading">
182
- <a href="#M000195" class="method-signature">
182
+ <a href="#M000208" class="method-signature">
183
183
  <span class="method-name">result</span><span class="method-args">(_binding_or_hash=TOPLEVEL_BINDING)</span>
184
184
  </a>
185
185
  </div>
@@ -189,8 +189,8 @@ invoke context.instance_eval(@src)
189
189
  eval(@src) with binding object
190
190
  </p>
191
191
  <p><a class="source-toggle" href="#"
192
- onclick="toggleCode('M000195-source');return false;">[Source]</a></p>
193
- <div class="method-source-code" id="M000195-source">
192
+ onclick="toggleCode('M000208-source');return false;">[Source]</a></p>
193
+ <div class="method-source-code" id="M000208-source">
194
194
  <pre>
195
195
  <span class="ruby-comment cmt"># File erubis/evaluator.rb, line 53</span>
196
196
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">result</span>(<span class="ruby-identifier">_binding_or_hash</span>=<span class="ruby-constant">TOPLEVEL_BINDING</span>)
@@ -86,14 +86,14 @@ code generator for Ruby
86
86
  <h3 class="section-bar">Methods</h3>
87
87
 
88
88
  <div class="name-list">
89
- <a href="#M000118">add_expr_debug</a>&nbsp;&nbsp;
90
- <a href="#M000117">add_expr_escaped</a>&nbsp;&nbsp;
91
- <a href="#M000116">add_expr_literal</a>&nbsp;&nbsp;
92
- <a href="#M000115">add_stmt</a>&nbsp;&nbsp;
93
- <a href="#M000114">add_text</a>&nbsp;&nbsp;
94
- <a href="#M000112">escape_text</a>&nbsp;&nbsp;
95
- <a href="#M000113">escaped_expr</a>&nbsp;&nbsp;
96
- <a href="#M000111">init_generator</a>&nbsp;&nbsp;
89
+ <a href="#M000121">add_expr_debug</a>&nbsp;&nbsp;
90
+ <a href="#M000120">add_expr_escaped</a>&nbsp;&nbsp;
91
+ <a href="#M000119">add_expr_literal</a>&nbsp;&nbsp;
92
+ <a href="#M000118">add_stmt</a>&nbsp;&nbsp;
93
+ <a href="#M000117">add_text</a>&nbsp;&nbsp;
94
+ <a href="#M000115">escape_text</a>&nbsp;&nbsp;
95
+ <a href="#M000116">escaped_expr</a>&nbsp;&nbsp;
96
+ <a href="#M000114">init_generator</a>&nbsp;&nbsp;
97
97
  </div>
98
98
  </div>
99
99
 
@@ -123,21 +123,21 @@ code generator for Ruby
123
123
  <div id="methods">
124
124
  <h3 class="section-bar">Public Instance methods</h3>
125
125
 
126
- <div id="method-M000118" class="method-detail">
127
- <a name="M000118"></a>
126
+ <div id="method-M000121" class="method-detail">
127
+ <a name="M000121"></a>
128
128
 
129
129
  <div class="method-heading">
130
- <a href="#M000118" class="method-signature">
130
+ <a href="#M000121" class="method-signature">
131
131
  <span class="method-name">add_expr_debug</span><span class="method-args">(src, code)</span>
132
132
  </a>
133
133
  </div>
134
134
 
135
135
  <div class="method-description">
136
136
  <p><a class="source-toggle" href="#"
137
- onclick="toggleCode('M000118-source');return false;">[Source]</a></p>
138
- <div class="method-source-code" id="M000118-source">
137
+ onclick="toggleCode('M000121-source');return false;">[Source]</a></p>
138
+ <div class="method-source-code" id="M000121-source">
139
139
  <pre>
140
- <span class="ruby-comment cmt"># File erubis/engine/eruby.rb, line 62</span>
140
+ <span class="ruby-comment cmt"># File erubis/engine/eruby.rb, line 63</span>
141
141
  <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>)
142
142
  <span class="ruby-identifier">code</span>.<span class="ruby-identifier">strip!</span>
143
143
  <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>
@@ -148,67 +148,67 @@ code generator for Ruby
148
148
  </div>
149
149
  </div>
150
150
 
151
- <div id="method-M000117" class="method-detail">
152
- <a name="M000117"></a>
151
+ <div id="method-M000120" class="method-detail">
152
+ <a name="M000120"></a>
153
153
 
154
154
  <div class="method-heading">
155
- <a href="#M000117" class="method-signature">
155
+ <a href="#M000120" class="method-signature">
156
156
  <span class="method-name">add_expr_escaped</span><span class="method-args">(src, code)</span>
157
157
  </a>
158
158
  </div>
159
159
 
160
160
  <div class="method-description">
161
161
  <p><a class="source-toggle" href="#"
162
- onclick="toggleCode('M000117-source');return false;">[Source]</a></p>
163
- <div class="method-source-code" id="M000117-source">
162
+ onclick="toggleCode('M000120-source');return false;">[Source]</a></p>
163
+ <div class="method-source-code" id="M000120-source">
164
164
  <pre>
165
- <span class="ruby-comment cmt"># File erubis/engine/eruby.rb, line 58</span>
165
+ <span class="ruby-comment cmt"># File erubis/engine/eruby.rb, line 59</span>
166
166
  <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>)
167
- <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">' _buf &lt;&lt; '</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">escaped_expr</span>(<span class="ruby-identifier">code</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">';'</span>
167
+ <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; #{@bufvar} &lt;&lt; &quot;</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">escaped_expr</span>(<span class="ruby-identifier">code</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">';'</span>
168
168
  <span class="ruby-keyword kw">end</span>
169
169
  </pre>
170
170
  </div>
171
171
  </div>
172
172
  </div>
173
173
 
174
- <div id="method-M000116" class="method-detail">
175
- <a name="M000116"></a>
174
+ <div id="method-M000119" class="method-detail">
175
+ <a name="M000119"></a>
176
176
 
177
177
  <div class="method-heading">
178
- <a href="#M000116" class="method-signature">
178
+ <a href="#M000119" class="method-signature">
179
179
  <span class="method-name">add_expr_literal</span><span class="method-args">(src, code)</span>
180
180
  </a>
181
181
  </div>
182
182
 
183
183
  <div class="method-description">
184
184
  <p><a class="source-toggle" href="#"
185
- onclick="toggleCode('M000116-source');return false;">[Source]</a></p>
186
- <div class="method-source-code" id="M000116-source">
185
+ onclick="toggleCode('M000119-source');return false;">[Source]</a></p>
186
+ <div class="method-source-code" id="M000119-source">
187
187
  <pre>
188
- <span class="ruby-comment cmt"># File erubis/engine/eruby.rb, line 54</span>
188
+ <span class="ruby-comment cmt"># File erubis/engine/eruby.rb, line 55</span>
189
189
  <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>)
190
- <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">' _buf &lt;&lt; ('</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">').to_s;'</span>
190
+ <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; #{@bufvar} &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">').to_s;'</span>
191
191
  <span class="ruby-keyword kw">end</span>
192
192
  </pre>
193
193
  </div>
194
194
  </div>
195
195
  </div>
196
196
 
197
- <div id="method-M000115" class="method-detail">
198
- <a name="M000115"></a>
197
+ <div id="method-M000118" class="method-detail">
198
+ <a name="M000118"></a>
199
199
 
200
200
  <div class="method-heading">
201
- <a href="#M000115" class="method-signature">
201
+ <a href="#M000118" class="method-signature">
202
202
  <span class="method-name">add_stmt</span><span class="method-args">(src, code)</span>
203
203
  </a>
204
204
  </div>
205
205
 
206
206
  <div class="method-description">
207
207
  <p><a class="source-toggle" href="#"
208
- onclick="toggleCode('M000115-source');return false;">[Source]</a></p>
209
- <div class="method-source-code" id="M000115-source">
208
+ onclick="toggleCode('M000118-source');return false;">[Source]</a></p>
209
+ <div class="method-source-code" id="M000118-source">
210
210
  <pre>
211
- <span class="ruby-comment cmt"># File erubis/engine/eruby.rb, line 48</span>
211
+ <span class="ruby-comment cmt"># File erubis/engine/eruby.rb, line 49</span>
212
212
  <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>)
213
213
  <span class="ruby-comment cmt">#src &lt;&lt; code &lt;&lt; ';'</span>
214
214
  <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">code</span>
@@ -219,44 +219,44 @@ code generator for Ruby
219
219
  </div>
220
220
  </div>
221
221
 
222
- <div id="method-M000114" class="method-detail">
223
- <a name="M000114"></a>
222
+ <div id="method-M000117" class="method-detail">
223
+ <a name="M000117"></a>
224
224
 
225
225
  <div class="method-heading">
226
- <a href="#M000114" class="method-signature">
226
+ <a href="#M000117" class="method-signature">
227
227
  <span class="method-name">add_text</span><span class="method-args">(src, text)</span>
228
228
  </a>
229
229
  </div>
230
230
 
231
231
  <div class="method-description">
232
232
  <p><a class="source-toggle" href="#"
233
- onclick="toggleCode('M000114-source');return false;">[Source]</a></p>
234
- <div class="method-source-code" id="M000114-source">
233
+ onclick="toggleCode('M000117-source');return false;">[Source]</a></p>
234
+ <div class="method-source-code" id="M000117-source">
235
235
  <pre>
236
- <span class="ruby-comment cmt"># File erubis/engine/eruby.rb, line 44</span>
236
+ <span class="ruby-comment cmt"># File erubis/engine/eruby.rb, line 45</span>
237
237
  <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>)
238
- <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; _buf &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> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">text</span>.<span class="ruby-identifier">empty?</span>
238
+ <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; #{@bufvar} &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> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">text</span>.<span class="ruby-identifier">empty?</span>
239
239
  <span class="ruby-keyword kw">end</span>
240
240
  </pre>
241
241
  </div>
242
242
  </div>
243
243
  </div>
244
244
 
245
- <div id="method-M000112" class="method-detail">
246
- <a name="M000112"></a>
245
+ <div id="method-M000115" class="method-detail">
246
+ <a name="M000115"></a>
247
247
 
248
248
  <div class="method-heading">
249
- <a href="#M000112" class="method-signature">
249
+ <a href="#M000115" class="method-signature">
250
250
  <span class="method-name">escape_text</span><span class="method-args">(text)</span>
251
251
  </a>
252
252
  </div>
253
253
 
254
254
  <div class="method-description">
255
255
  <p><a class="source-toggle" href="#"
256
- onclick="toggleCode('M000112-source');return false;">[Source]</a></p>
257
- <div class="method-source-code" id="M000112-source">
256
+ onclick="toggleCode('M000115-source');return false;">[Source]</a></p>
257
+ <div class="method-source-code" id="M000115-source">
258
258
  <pre>
259
- <span class="ruby-comment cmt"># File erubis/engine/eruby.rb, line 30</span>
259
+ <span class="ruby-comment cmt"># File erubis/engine/eruby.rb, line 31</span>
260
260
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">escape_text</span>(<span class="ruby-identifier">text</span>)
261
261
  <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>
262
262
  <span class="ruby-keyword kw">end</span>
@@ -265,21 +265,21 @@ code generator for Ruby
265
265
  </div>
266
266
  </div>
267
267
 
268
- <div id="method-M000113" class="method-detail">
269
- <a name="M000113"></a>
268
+ <div id="method-M000116" class="method-detail">
269
+ <a name="M000116"></a>
270
270
 
271
271
  <div class="method-heading">
272
- <a href="#M000113" class="method-signature">
272
+ <a href="#M000116" class="method-signature">
273
273
  <span class="method-name">escaped_expr</span><span class="method-args">(code)</span>
274
274
  </a>
275
275
  </div>
276
276
 
277
277
  <div class="method-description">
278
278
  <p><a class="source-toggle" href="#"
279
- onclick="toggleCode('M000113-source');return false;">[Source]</a></p>
280
- <div class="method-source-code" id="M000113-source">
279
+ onclick="toggleCode('M000116-source');return false;">[Source]</a></p>
280
+ <div class="method-source-code" id="M000116-source">
281
281
  <pre>
282
- <span class="ruby-comment cmt"># File erubis/engine/eruby.rb, line 34</span>
282
+ <span class="ruby-comment cmt"># File erubis/engine/eruby.rb, line 35</span>
283
283
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">escaped_expr</span>(<span class="ruby-identifier">code</span>)
284
284
  <span class="ruby-keyword kw">return</span> <span class="ruby-node">&quot;#{@escapefunc}(#{code})&quot;</span>
285
285
  <span class="ruby-keyword kw">end</span>
@@ -288,24 +288,25 @@ code generator for Ruby
288
288
  </div>
289
289
  </div>
290
290
 
291
- <div id="method-M000111" class="method-detail">
292
- <a name="M000111"></a>
291
+ <div id="method-M000114" class="method-detail">
292
+ <a name="M000114"></a>
293
293
 
294
294
  <div class="method-heading">
295
- <a href="#M000111" class="method-signature">
295
+ <a href="#M000114" class="method-signature">
296
296
  <span class="method-name">init_generator</span><span class="method-args">(properties={})</span>
297
297
  </a>
298
298
  </div>
299
299
 
300
300
  <div class="method-description">
301
301
  <p><a class="source-toggle" href="#"
302
- onclick="toggleCode('M000111-source');return false;">[Source]</a></p>
303
- <div class="method-source-code" id="M000111-source">
302
+ onclick="toggleCode('M000114-source');return false;">[Source]</a></p>
303
+ <div class="method-source-code" id="M000114-source">
304
304
  <pre>
305
305
  <span class="ruby-comment cmt"># File erubis/engine/eruby.rb, line 21</span>
306
306
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">init_generator</span>(<span class="ruby-identifier">properties</span>={})
307
307
  <span class="ruby-keyword kw">super</span>
308
308
  <span class="ruby-ivar">@escapefunc</span> <span class="ruby-operator">||=</span> <span class="ruby-value str">&quot;Erubis::XmlHelper.escape_xml&quot;</span>
309
+ <span class="ruby-ivar">@bufvar</span> = <span class="ruby-identifier">properties</span>[<span class="ruby-identifier">:bufvar</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">&quot;_buf&quot;</span>
309
310
  <span class="ruby-keyword kw">end</span>
310
311
  </pre>
311
312
  </div>
@@ -80,16 +80,16 @@
80
80
  <h3 class="section-bar">Methods</h3>
81
81
 
82
82
  <div class="name-list">
83
- <a href="#M000043">add_expr_debug</a>&nbsp;&nbsp;
84
- <a href="#M000042">add_expr_escaped</a>&nbsp;&nbsp;
85
- <a href="#M000041">add_expr_literal</a>&nbsp;&nbsp;
86
- <a href="#M000044">add_postamble</a>&nbsp;&nbsp;
87
- <a href="#M000036">add_preamble</a>&nbsp;&nbsp;
88
- <a href="#M000040">add_stmt</a>&nbsp;&nbsp;
89
- <a href="#M000039">add_text</a>&nbsp;&nbsp;
90
- <a href="#M000037">escape_text</a>&nbsp;&nbsp;
91
- <a href="#M000038">escaped_expr</a>&nbsp;&nbsp;
92
- <a href="#M000035">init_generator</a>&nbsp;&nbsp;
83
+ <a href="#M000045">add_expr_debug</a>&nbsp;&nbsp;
84
+ <a href="#M000044">add_expr_escaped</a>&nbsp;&nbsp;
85
+ <a href="#M000043">add_expr_literal</a>&nbsp;&nbsp;
86
+ <a href="#M000046">add_postamble</a>&nbsp;&nbsp;
87
+ <a href="#M000038">add_preamble</a>&nbsp;&nbsp;
88
+ <a href="#M000042">add_stmt</a>&nbsp;&nbsp;
89
+ <a href="#M000041">add_text</a>&nbsp;&nbsp;
90
+ <a href="#M000039">escape_text</a>&nbsp;&nbsp;
91
+ <a href="#M000040">escaped_expr</a>&nbsp;&nbsp;
92
+ <a href="#M000037">init_generator</a>&nbsp;&nbsp;
93
93
  </div>
94
94
  </div>
95
95
 
@@ -118,19 +118,19 @@
118
118
  <div id="methods">
119
119
  <h3 class="section-bar">Public Instance methods</h3>
120
120
 
121
- <div id="method-M000043" class="method-detail">
122
- <a name="M000043"></a>
121
+ <div id="method-M000045" class="method-detail">
122
+ <a name="M000045"></a>
123
123
 
124
124
  <div class="method-heading">
125
- <a href="#M000043" class="method-signature">
125
+ <a href="#M000045" class="method-signature">
126
126
  <span class="method-name">add_expr_debug</span><span class="method-args">(src, code)</span>
127
127
  </a>
128
128
  </div>
129
129
 
130
130
  <div class="method-description">
131
131
  <p><a class="source-toggle" href="#"
132
- onclick="toggleCode('M000043-source');return false;">[Source]</a></p>
133
- <div class="method-source-code" id="M000043-source">
132
+ onclick="toggleCode('M000045-source');return false;">[Source]</a></p>
133
+ <div class="method-source-code" id="M000045-source">
134
134
  <pre>
135
135
  <span class="ruby-comment cmt"># File erubis/engine/escheme.rb, line 71</span>
136
136
  <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>)
@@ -142,19 +142,19 @@
142
142
  </div>
143
143
  </div>
144
144
 
145
- <div id="method-M000042" class="method-detail">
146
- <a name="M000042"></a>
145
+ <div id="method-M000044" class="method-detail">
146
+ <a name="M000044"></a>
147
147
 
148
148
  <div class="method-heading">
149
- <a href="#M000042" class="method-signature">
149
+ <a href="#M000044" class="method-signature">
150
150
  <span class="method-name">add_expr_escaped</span><span class="method-args">(src, code)</span>
151
151
  </a>
152
152
  </div>
153
153
 
154
154
  <div class="method-description">
155
155
  <p><a class="source-toggle" href="#"
156
- onclick="toggleCode('M000042-source');return false;">[Source]</a></p>
157
- <div class="method-source-code" id="M000042-source">
156
+ onclick="toggleCode('M000044-source');return false;">[Source]</a></p>
157
+ <div class="method-source-code" id="M000044-source">
158
158
  <pre>
159
159
  <span class="ruby-comment cmt"># File erubis/engine/escheme.rb, line 67</span>
160
160
  <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>)
@@ -165,19 +165,19 @@
165
165
  </div>
166
166
  </div>
167
167
 
168
- <div id="method-M000041" class="method-detail">
169
- <a name="M000041"></a>
168
+ <div id="method-M000043" class="method-detail">
169
+ <a name="M000043"></a>
170
170
 
171
171
  <div class="method-heading">
172
- <a href="#M000041" class="method-signature">
172
+ <a href="#M000043" class="method-signature">
173
173
  <span class="method-name">add_expr_literal</span><span class="method-args">(src, code)</span>
174
174
  </a>
175
175
  </div>
176
176
 
177
177
  <div class="method-description">
178
178
  <p><a class="source-toggle" href="#"
179
- onclick="toggleCode('M000041-source');return false;">[Source]</a></p>
180
- <div class="method-source-code" id="M000041-source">
179
+ onclick="toggleCode('M000043-source');return false;">[Source]</a></p>
180
+ <div class="method-source-code" id="M000043-source">
181
181
  <pre>
182
182
  <span class="ruby-comment cmt"># File erubis/engine/escheme.rb, line 62</span>
183
183
  <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>)
@@ -189,19 +189,19 @@
189
189
  </div>
190
190
  </div>
191
191
 
192
- <div id="method-M000044" class="method-detail">
193
- <a name="M000044"></a>
192
+ <div id="method-M000046" class="method-detail">
193
+ <a name="M000046"></a>
194
194
 
195
195
  <div class="method-heading">
196
- <a href="#M000044" class="method-signature">
196
+ <a href="#M000046" class="method-signature">
197
197
  <span class="method-name">add_postamble</span><span class="method-args">(src)</span>
198
198
  </a>
199
199
  </div>
200
200
 
201
201
  <div class="method-description">
202
202
  <p><a class="source-toggle" href="#"
203
- onclick="toggleCode('M000044-source');return false;">[Source]</a></p>
204
- <div class="method-source-code" id="M000044-source">
203
+ onclick="toggleCode('M000046-source');return false;">[Source]</a></p>
204
+ <div class="method-source-code" id="M000046-source">
205
205
  <pre>
206
206
  <span class="ruby-comment cmt"># File erubis/engine/escheme.rb, line 76</span>
207
207
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_postamble</span>(<span class="ruby-identifier">src</span>)
@@ -214,19 +214,19 @@
214
214
  </div>
215
215
  </div>
216
216
 
217
- <div id="method-M000036" class="method-detail">
218
- <a name="M000036"></a>
217
+ <div id="method-M000038" class="method-detail">
218
+ <a name="M000038"></a>
219
219
 
220
220
  <div class="method-heading">
221
- <a href="#M000036" class="method-signature">
221
+ <a href="#M000038" class="method-signature">
222
222
  <span class="method-name">add_preamble</span><span class="method-args">(src)</span>
223
223
  </a>
224
224
  </div>
225
225
 
226
226
  <div class="method-description">
227
227
  <p><a class="source-toggle" href="#"
228
- onclick="toggleCode('M000036-source');return false;">[Source]</a></p>
229
- <div class="method-source-code" id="M000036-source">
228
+ onclick="toggleCode('M000038-source');return false;">[Source]</a></p>
229
+ <div class="method-source-code" id="M000038-source">
230
230
  <pre>
231
231
  <span class="ruby-comment cmt"># File erubis/engine/escheme.rb, line 28</span>
232
232
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_preamble</span>(<span class="ruby-identifier">src</span>)
@@ -240,19 +240,19 @@
240
240
  </div>
241
241
  </div>
242
242
 
243
- <div id="method-M000040" class="method-detail">
244
- <a name="M000040"></a>
243
+ <div id="method-M000042" class="method-detail">
244
+ <a name="M000042"></a>
245
245
 
246
246
  <div class="method-heading">
247
- <a href="#M000040" class="method-signature">
247
+ <a href="#M000042" class="method-signature">
248
248
  <span class="method-name">add_stmt</span><span class="method-args">(src, code)</span>
249
249
  </a>
250
250
  </div>
251
251
 
252
252
  <div class="method-description">
253
253
  <p><a class="source-toggle" href="#"
254
- onclick="toggleCode('M000040-source');return false;">[Source]</a></p>
255
- <div class="method-source-code" id="M000040-source">
254
+ onclick="toggleCode('M000042-source');return false;">[Source]</a></p>
255
+ <div class="method-source-code" id="M000042-source">
256
256
  <pre>
257
257
  <span class="ruby-comment cmt"># File erubis/engine/escheme.rb, line 58</span>
258
258
  <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>)
@@ -263,19 +263,19 @@
263
263
  </div>
264
264
  </div>
265
265
 
266
- <div id="method-M000039" class="method-detail">
267
- <a name="M000039"></a>
266
+ <div id="method-M000041" class="method-detail">
267
+ <a name="M000041"></a>
268
268
 
269
269
  <div class="method-heading">
270
- <a href="#M000039" class="method-signature">
270
+ <a href="#M000041" class="method-signature">
271
271
  <span class="method-name">add_text</span><span class="method-args">(src, text)</span>
272
272
  </a>
273
273
  </div>
274
274
 
275
275
  <div class="method-description">
276
276
  <p><a class="source-toggle" href="#"
277
- onclick="toggleCode('M000039-source');return false;">[Source]</a></p>
278
- <div class="method-source-code" id="M000039-source">
277
+ onclick="toggleCode('M000041-source');return false;">[Source]</a></p>
278
+ <div class="method-source-code" id="M000041-source">
279
279
  <pre>
280
280
  <span class="ruby-comment cmt"># File erubis/engine/escheme.rb, line 47</span>
281
281
  <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>)
@@ -293,19 +293,19 @@
293
293
  </div>
294
294
  </div>
295
295
 
296
- <div id="method-M000037" class="method-detail">
297
- <a name="M000037"></a>
296
+ <div id="method-M000039" class="method-detail">
297
+ <a name="M000039"></a>
298
298
 
299
299
  <div class="method-heading">
300
- <a href="#M000037" class="method-signature">
300
+ <a href="#M000039" class="method-signature">
301
301
  <span class="method-name">escape_text</span><span class="method-args">(text)</span>
302
302
  </a>
303
303
  </div>
304
304
 
305
305
  <div class="method-description">
306
306
  <p><a class="source-toggle" href="#"
307
- onclick="toggleCode('M000037-source');return false;">[Source]</a></p>
308
- <div class="method-source-code" id="M000037-source">
307
+ onclick="toggleCode('M000039-source');return false;">[Source]</a></p>
308
+ <div class="method-source-code" id="M000039-source">
309
309
  <pre>
310
310
  <span class="ruby-comment cmt"># File erubis/engine/escheme.rb, line 36</span>
311
311
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">escape_text</span>(<span class="ruby-identifier">text</span>)
@@ -318,19 +318,19 @@
318
318
  </div>
319
319
  </div>
320
320
 
321
- <div id="method-M000038" class="method-detail">
322
- <a name="M000038"></a>
321
+ <div id="method-M000040" class="method-detail">
322
+ <a name="M000040"></a>
323
323
 
324
324
  <div class="method-heading">
325
- <a href="#M000038" class="method-signature">
325
+ <a href="#M000040" class="method-signature">
326
326
  <span class="method-name">escaped_expr</span><span class="method-args">(code)</span>
327
327
  </a>
328
328
  </div>
329
329
 
330
330
  <div class="method-description">
331
331
  <p><a class="source-toggle" href="#"
332
- onclick="toggleCode('M000038-source');return false;">[Source]</a></p>
333
- <div class="method-source-code" id="M000038-source">
332
+ onclick="toggleCode('M000040-source');return false;">[Source]</a></p>
333
+ <div class="method-source-code" id="M000040-source">
334
334
  <pre>
335
335
  <span class="ruby-comment cmt"># File erubis/engine/escheme.rb, line 42</span>
336
336
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">escaped_expr</span>(<span class="ruby-identifier">code</span>)
@@ -342,19 +342,19 @@
342
342
  </div>
343
343
  </div>
344
344
 
345
- <div id="method-M000035" class="method-detail">
346
- <a name="M000035"></a>
345
+ <div id="method-M000037" class="method-detail">
346
+ <a name="M000037"></a>
347
347
 
348
348
  <div class="method-heading">
349
- <a href="#M000035" class="method-signature">
349
+ <a href="#M000037" class="method-signature">
350
350
  <span class="method-name">init_generator</span><span class="method-args">(properties={})</span>
351
351
  </a>
352
352
  </div>
353
353
 
354
354
  <div class="method-description">
355
355
  <p><a class="source-toggle" href="#"
356
- onclick="toggleCode('M000035-source');return false;">[Source]</a></p>
357
- <div class="method-source-code" id="M000035-source">
356
+ onclick="toggleCode('M000037-source');return false;">[Source]</a></p>
357
+ <div class="method-source-code" id="M000037-source">
358
358
  <pre>
359
359
  <span class="ruby-comment cmt"># File erubis/engine/escheme.rb, line 22</span>
360
360
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">init_generator</span>(<span class="ruby-identifier">properties</span>={})