erubis 2.6.6 → 2.7.0

Sign up to get free protection for your applications and to get access to all the features.
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>={})