erubis 2.3.1 → 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 (163) hide show
  1. data/{CHANGES → CHANGES.txt} +373 -3
  2. data/MIT-LICENSE +1 -1
  3. data/README.txt +6 -5
  4. data/benchmark/bench.rb +18 -11
  5. data/bin/erubis +3 -4
  6. data/contrib/erubis +3462 -5
  7. data/contrib/inline-require +54 -28
  8. data/doc/docstyle.css +25 -4
  9. data/doc/users-guide.html +814 -110
  10. data/doc-api/classes/ActionView/TemplateHandlers/ErubisHandler.html +209 -0
  11. data/doc-api/classes/ActionView.html +105 -0
  12. data/doc-api/classes/Erubis/ArrayBufferEnhancer.html +14 -14
  13. data/doc-api/classes/Erubis/ArrayEnhancer.html +16 -16
  14. data/doc-api/classes/Erubis/Basic/Converter.html +36 -31
  15. data/doc-api/classes/Erubis/BiPatternEnhancer.html +16 -13
  16. data/doc-api/classes/Erubis/CGenerator.html +70 -70
  17. data/doc-api/classes/Erubis/Context.html +49 -49
  18. data/doc-api/classes/Erubis/Converter.html +30 -29
  19. data/doc-api/classes/Erubis/CppGenerator.html +382 -0
  20. data/doc-api/classes/Erubis/DeleteIndentEnhancer.html +7 -7
  21. data/doc-api/classes/Erubis/Ecpp.html +126 -0
  22. data/doc-api/classes/Erubis/Engine.html +46 -43
  23. data/doc-api/classes/Erubis/ErboutEnhancer.html +16 -16
  24. data/doc-api/classes/Erubis/EscapeEnhancer.html +7 -7
  25. data/doc-api/classes/Erubis/EscapedEcpp.html +120 -0
  26. data/doc-api/classes/Erubis/Evaluator.html +22 -22
  27. data/doc-api/classes/Erubis/Generator.html +70 -70
  28. data/doc-api/classes/Erubis/HeaderFooterEnhancer.html +18 -15
  29. data/doc-api/classes/Erubis/Helpers/RailsFormHelper.html +787 -0
  30. data/doc-api/classes/Erubis/Helpers/RailsHelper/TemplateConverter.html +213 -0
  31. data/doc-api/classes/Erubis/Helpers/RailsHelper.html +103 -54
  32. data/doc-api/classes/Erubis/Helpers.html +6 -1
  33. data/doc-api/classes/Erubis/InterpolationEnhancer.html +42 -41
  34. data/doc-api/classes/Erubis/JavaGenerator.html +69 -69
  35. data/doc-api/classes/Erubis/JavascriptGenerator.html +79 -74
  36. data/doc-api/classes/Erubis/Main.html +49 -48
  37. data/doc-api/classes/Erubis/NoCodeEnhancer.html +35 -35
  38. data/doc-api/classes/Erubis/NoTextEnhancer.html +7 -7
  39. data/doc-api/classes/Erubis/OptimizedEruby.html +7 -7
  40. data/doc-api/classes/Erubis/OptimizedGenerator.html +84 -84
  41. data/doc-api/classes/Erubis/OptimizedXmlEruby.html +7 -7
  42. data/doc-api/classes/Erubis/PI/Converter.html +23 -22
  43. data/doc-api/classes/Erubis/PI/Ec.html +7 -7
  44. data/doc-api/classes/Erubis/PI/Ecpp.html +166 -0
  45. data/doc-api/classes/Erubis/PI/Ejava.html +7 -7
  46. data/doc-api/classes/Erubis/PI/Ejavascript.html +7 -7
  47. data/doc-api/classes/Erubis/PI/Eperl.html +7 -7
  48. data/doc-api/classes/Erubis/PI/Ephp.html +7 -7
  49. data/doc-api/classes/Erubis/PI/Eruby.html +6 -6
  50. data/doc-api/classes/Erubis/PI/Escheme.html +7 -7
  51. data/doc-api/classes/Erubis/PI/TinyEruby.html +28 -27
  52. data/doc-api/classes/Erubis/PI.html +1 -0
  53. data/doc-api/classes/Erubis/PercentLineEnhancer.html +18 -29
  54. data/doc-api/classes/Erubis/PerlGenerator.html +63 -63
  55. data/doc-api/classes/Erubis/PhpGenerator.html +63 -63
  56. data/doc-api/classes/Erubis/PrefixedLineEnhancer.html +210 -0
  57. data/doc-api/classes/Erubis/PrefixedLineEruby.html +120 -0
  58. data/doc-api/classes/Erubis/PreprocessingEruby.html +183 -0
  59. data/doc-api/classes/Erubis/PreprocessingHelper.html +212 -0
  60. data/doc-api/classes/Erubis/PrintEnabledEnhancer.html +23 -23
  61. data/doc-api/classes/Erubis/PrintOutEnhancer.html +38 -38
  62. data/doc-api/classes/Erubis/RubyEvaluator.html +59 -22
  63. data/doc-api/classes/Erubis/RubyGenerator.html +53 -52
  64. data/doc-api/classes/Erubis/SchemeGenerator.html +70 -70
  65. data/doc-api/classes/Erubis/SimplifyEnhancer.html +10 -9
  66. data/doc-api/classes/Erubis/StdoutEnhancer.html +3 -3
  67. data/doc-api/classes/Erubis/StringBufferEnhancer.html +16 -16
  68. data/doc-api/classes/Erubis/TinyEruby.html +33 -33
  69. data/doc-api/classes/Erubis/XmlHelper.html +80 -15
  70. data/doc-api/classes/Erubis.html +25 -1
  71. data/doc-api/classes/Kernel.html +155 -0
  72. data/doc-api/created.rid +1 -1
  73. data/doc-api/files/README_txt.html +8 -8
  74. data/doc-api/files/erubis/context_rb.html +2 -2
  75. data/doc-api/files/erubis/converter_rb.html +3 -3
  76. data/doc-api/files/erubis/engine/ec_rb.html +2 -2
  77. data/doc-api/files/erubis/engine/ecpp_rb.html +115 -0
  78. data/doc-api/files/erubis/engine/ejava_rb.html +2 -2
  79. data/doc-api/files/erubis/engine/ejavascript_rb.html +2 -2
  80. data/doc-api/files/erubis/engine/enhanced_rb.html +2 -2
  81. data/doc-api/files/erubis/engine/eperl_rb.html +2 -2
  82. data/doc-api/files/erubis/engine/ephp_rb.html +2 -2
  83. data/doc-api/files/erubis/engine/eruby_rb.html +2 -2
  84. data/doc-api/files/erubis/engine/escheme_rb.html +2 -2
  85. data/doc-api/files/erubis/engine/optimized_rb.html +2 -2
  86. data/doc-api/files/erubis/engine_rb.html +2 -2
  87. data/doc-api/files/erubis/enhancer_rb.html +2 -2
  88. data/doc-api/files/erubis/error_rb.html +2 -2
  89. data/doc-api/files/erubis/evaluator_rb.html +2 -2
  90. data/doc-api/files/erubis/generator_rb.html +3 -3
  91. data/doc-api/files/erubis/helper_rb.html +2 -2
  92. data/doc-api/files/erubis/helpers/rails_form_helper_rb.html +107 -0
  93. data/doc-api/files/erubis/helpers/rails_helper_rb.html +3 -2
  94. data/doc-api/files/erubis/local-setting_rb.html +2 -2
  95. data/doc-api/files/erubis/main_rb.html +4 -2
  96. data/doc-api/files/erubis/preprocessing_rb.html +114 -0
  97. data/doc-api/files/erubis/tiny_rb.html +2 -2
  98. data/doc-api/files/erubis/util_rb.html +107 -0
  99. data/doc-api/files/erubis_rb.html +2 -2
  100. data/doc-api/fr_class_index.html +13 -0
  101. data/doc-api/fr_file_index.html +4 -0
  102. data/doc-api/fr_method_index.html +237 -179
  103. data/examples/basic/Makefile +7 -2
  104. data/examples/basic/example.ecpp +33 -0
  105. data/lib/erubis/context.rb +2 -3
  106. data/lib/erubis/converter.rb +17 -11
  107. data/lib/erubis/engine/ec.rb +2 -3
  108. data/lib/erubis/engine/ecpp.rb +113 -0
  109. data/lib/erubis/engine/ejava.rb +9 -10
  110. data/lib/erubis/engine/ejavascript.rb +14 -9
  111. data/lib/erubis/engine/enhanced.rb +7 -3
  112. data/lib/erubis/engine/eperl.rb +2 -3
  113. data/lib/erubis/engine/ephp.rb +2 -3
  114. data/lib/erubis/engine/eruby.rb +8 -8
  115. data/lib/erubis/engine/escheme.rb +2 -3
  116. data/lib/erubis/engine/optimized.rb +2 -3
  117. data/lib/erubis/engine.rb +13 -11
  118. data/lib/erubis/enhancer.rb +101 -34
  119. data/lib/erubis/error.rb +2 -3
  120. data/lib/erubis/evaluator.rb +27 -10
  121. data/lib/erubis/generator.rb +3 -4
  122. data/lib/erubis/helper.rb +14 -3
  123. data/lib/erubis/helpers/rails_form_helper.rb +197 -0
  124. data/lib/erubis/helpers/rails_helper.rb +219 -77
  125. data/lib/erubis/local-setting.rb +2 -3
  126. data/lib/erubis/main.rb +85 -60
  127. data/lib/erubis/preprocessing.rb +58 -0
  128. data/lib/erubis/tiny.rb +9 -9
  129. data/lib/erubis/util.rb +22 -0
  130. data/lib/erubis.rb +4 -4
  131. data/test/assert-text-equal.rb +2 -3
  132. data/test/data/users-guide/bufvar-example.rb +10 -0
  133. data/test/data/users-guide/bufvar-example.result +17 -0
  134. data/test/data/users-guide/def_method.rb +14 -0
  135. data/test/data/users-guide/def_method.result +3 -0
  136. data/test/data/users-guide/example.ecpp +30 -0
  137. data/test/data/users-guide/example1.rb +1 -0
  138. data/test/data/users-guide/example_c.result +22 -19
  139. data/test/data/users-guide/fasteruby-example.rb +8 -0
  140. data/test/data/users-guide/fasteruby-example.result +18 -0
  141. data/test/data/users-guide/main_program1.rb +8 -0
  142. data/test/data/users-guide/main_program1.result +6 -0
  143. data/test/data/users-guide/main_program2.rb +8 -0
  144. data/test/data/users-guide/main_program2.result +6 -0
  145. data/test/data/users-guide/percentline-example.rhtml +3 -1
  146. data/test/data/users-guide/percentline_example.result +5 -3
  147. data/test/data/users-guide/prefixedline-example.rb +9 -0
  148. data/test/data/users-guide/prefixedline-example.rhtml +6 -0
  149. data/test/data/users-guide/prefixedline_example.result +9 -0
  150. data/test/data/users-guide/tail_260.result +4 -0
  151. data/test/data/users-guide/tailnewline.rhtml +3 -0
  152. data/test/data/users-guide/template1.rhtml +4 -0
  153. data/test/data/users-guide/template2.rhtml +4 -0
  154. data/test/test-engines.rb +88 -5
  155. data/test/test-enhancers.rb +83 -6
  156. data/test/test-erubis.rb +115 -11
  157. data/test/test-index-cgi.rb +191 -0
  158. data/test/test-main.rb +143 -31
  159. data/test/test-users-guide.rb +20 -3
  160. data/test/test.rb +18 -3
  161. data/test/testutil.rb +44 -8
  162. metadata +104 -67
  163. data/contrib/action_view_base_rb.patch +0 -23
@@ -80,16 +80,16 @@
80
80
  <h3 class="section-bar">Methods</h3>
81
81
 
82
82
  <div class="name-list">
83
- <a href="#M000032">add_expr_debug</a>&nbsp;&nbsp;
84
- <a href="#M000031">add_expr_escaped</a>&nbsp;&nbsp;
85
- <a href="#M000030">add_expr_literal</a>&nbsp;&nbsp;
86
- <a href="#M000033">add_postamble</a>&nbsp;&nbsp;
87
- <a href="#M000025">add_preamble</a>&nbsp;&nbsp;
88
- <a href="#M000029">add_stmt</a>&nbsp;&nbsp;
89
- <a href="#M000028">add_text</a>&nbsp;&nbsp;
90
- <a href="#M000026">escape_text</a>&nbsp;&nbsp;
91
- <a href="#M000027">escaped_expr</a>&nbsp;&nbsp;
92
- <a href="#M000024">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,21 +118,21 @@
118
118
  <div id="methods">
119
119
  <h3 class="section-bar">Public Instance methods</h3>
120
120
 
121
- <div id="method-M000032" class="method-detail">
122
- <a name="M000032"></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="#M000032" 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('M000032-source');return false;">[Source]</a></p>
133
- <div class="method-source-code" id="M000032-source">
132
+ onclick="toggleCode('M000045-source');return false;">[Source]</a></p>
133
+ <div class="method-source-code" id="M000045-source">
134
134
  <pre>
135
- <span class="ruby-comment cmt"># File erubis/engine/escheme.rb, line 72</span>
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>)
137
137
  <span class="ruby-identifier">s</span> = (<span class="ruby-identifier">code</span>.<span class="ruby-identifier">strip!</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">code</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\&quot;/</span>, <span class="ruby-value str">'\\&quot;'</span>)
138
138
  <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;(display \&quot;*** debug: #{s}=\&quot;)(display #{code.strip})(display \&quot;\\n\&quot;)&quot;</span>
@@ -142,21 +142,21 @@
142
142
  </div>
143
143
  </div>
144
144
 
145
- <div id="method-M000031" class="method-detail">
146
- <a name="M000031"></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="#M000031" 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('M000031-source');return false;">[Source]</a></p>
157
- <div class="method-source-code" id="M000031-source">
156
+ onclick="toggleCode('M000044-source');return false;">[Source]</a></p>
157
+ <div class="method-source-code" id="M000044-source">
158
158
  <pre>
159
- <span class="ruby-comment cmt"># File erubis/engine/escheme.rb, line 68</span>
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>)
161
161
  <span class="ruby-identifier">add_expr_literal</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">escaped_expr</span>(<span class="ruby-identifier">code</span>))
162
162
  <span class="ruby-keyword kw">end</span>
@@ -165,21 +165,21 @@
165
165
  </div>
166
166
  </div>
167
167
 
168
- <div id="method-M000030" class="method-detail">
169
- <a name="M000030"></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="#M000030" 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('M000030-source');return false;">[Source]</a></p>
180
- <div class="method-source-code" id="M000030-source">
179
+ onclick="toggleCode('M000043-source');return false;">[Source]</a></p>
180
+ <div class="method-source-code" id="M000043-source">
181
181
  <pre>
182
- <span class="ruby-comment cmt"># File erubis/engine/escheme.rb, line 63</span>
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>)
184
184
  <span class="ruby-identifier">code</span>.<span class="ruby-identifier">strip!</span>
185
185
  <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;(#{@func} #{code})&quot;</span>
@@ -189,21 +189,21 @@
189
189
  </div>
190
190
  </div>
191
191
 
192
- <div id="method-M000033" class="method-detail">
193
- <a name="M000033"></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="#M000033" 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('M000033-source');return false;">[Source]</a></p>
204
- <div class="method-source-code" id="M000033-source">
203
+ onclick="toggleCode('M000046-source');return false;">[Source]</a></p>
204
+ <div class="method-source-code" id="M000046-source">
205
205
  <pre>
206
- <span class="ruby-comment cmt"># File erubis/engine/escheme.rb, line 77</span>
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>)
208
208
  <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@func</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'_add'</span>
209
209
  <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-keyword kw">unless</span> <span class="ruby-identifier">src</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?\n</span>
@@ -214,21 +214,21 @@
214
214
  </div>
215
215
  </div>
216
216
 
217
- <div id="method-M000025" class="method-detail">
218
- <a name="M000025"></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="#M000025" 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('M000025-source');return false;">[Source]</a></p>
229
- <div class="method-source-code" id="M000025-source">
228
+ onclick="toggleCode('M000038-source');return false;">[Source]</a></p>
229
+ <div class="method-source-code" id="M000038-source">
230
230
  <pre>
231
- <span class="ruby-comment cmt"># File erubis/engine/escheme.rb, line 29</span>
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>)
233
233
  <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@func</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'_add'</span>
234
234
  <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;(let ((_buf '())) &quot;</span> <span class="ruby-operator">+</span> \
@@ -240,21 +240,21 @@
240
240
  </div>
241
241
  </div>
242
242
 
243
- <div id="method-M000029" class="method-detail">
244
- <a name="M000029"></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="#M000029" 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('M000029-source');return false;">[Source]</a></p>
255
- <div class="method-source-code" id="M000029-source">
254
+ onclick="toggleCode('M000042-source');return false;">[Source]</a></p>
255
+ <div class="method-source-code" id="M000042-source">
256
256
  <pre>
257
- <span class="ruby-comment cmt"># File erubis/engine/escheme.rb, line 59</span>
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>)
259
259
  <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">code</span>
260
260
  <span class="ruby-keyword kw">end</span>
@@ -263,21 +263,21 @@
263
263
  </div>
264
264
  </div>
265
265
 
266
- <div id="method-M000028" class="method-detail">
267
- <a name="M000028"></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="#M000028" 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('M000028-source');return false;">[Source]</a></p>
278
- <div class="method-source-code" id="M000028-source">
277
+ onclick="toggleCode('M000041-source');return false;">[Source]</a></p>
278
+ <div class="method-source-code" id="M000041-source">
279
279
  <pre>
280
- <span class="ruby-comment cmt"># File erubis/engine/escheme.rb, line 48</span>
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>)
282
282
  <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>
283
283
  <span class="ruby-identifier">t</span> = <span class="ruby-identifier">escape_text</span>(<span class="ruby-identifier">text</span>)
@@ -293,21 +293,21 @@
293
293
  </div>
294
294
  </div>
295
295
 
296
- <div id="method-M000026" class="method-detail">
297
- <a name="M000026"></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="#M000026" 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('M000026-source');return false;">[Source]</a></p>
308
- <div class="method-source-code" id="M000026-source">
307
+ onclick="toggleCode('M000039-source');return false;">[Source]</a></p>
308
+ <div class="method-source-code" id="M000039-source">
309
309
  <pre>
310
- <span class="ruby-comment cmt"># File erubis/engine/escheme.rb, line 37</span>
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>)
312
312
  <span class="ruby-ivar">@table_</span> <span class="ruby-operator">||=</span> { <span class="ruby-value str">'&quot;'</span>=<span class="ruby-operator">&gt;</span><span class="ruby-value str">'\\&quot;'</span>, <span class="ruby-value str">'\\'</span>=<span class="ruby-operator">&gt;</span><span class="ruby-value str">'\\\\'</span> }
313
313
  <span class="ruby-identifier">text</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/[&quot;\\]/</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@table_</span>[<span class="ruby-identifier">m</span>] }
@@ -318,21 +318,21 @@
318
318
  </div>
319
319
  </div>
320
320
 
321
- <div id="method-M000027" class="method-detail">
322
- <a name="M000027"></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="#M000027" 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('M000027-source');return false;">[Source]</a></p>
333
- <div class="method-source-code" id="M000027-source">
332
+ onclick="toggleCode('M000040-source');return false;">[Source]</a></p>
333
+ <div class="method-source-code" id="M000040-source">
334
334
  <pre>
335
- <span class="ruby-comment cmt"># File erubis/engine/escheme.rb, line 43</span>
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>)
337
337
  <span class="ruby-identifier">code</span>.<span class="ruby-identifier">strip!</span>
338
338
  <span class="ruby-keyword kw">return</span> <span class="ruby-node">&quot;(#{@escapefunc} #{code})&quot;</span>
@@ -342,21 +342,21 @@
342
342
  </div>
343
343
  </div>
344
344
 
345
- <div id="method-M000024" class="method-detail">
346
- <a name="M000024"></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="#M000024" 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('M000024-source');return false;">[Source]</a></p>
357
- <div class="method-source-code" id="M000024-source">
356
+ onclick="toggleCode('M000037-source');return false;">[Source]</a></p>
357
+ <div class="method-source-code" id="M000037-source">
358
358
  <pre>
359
- <span class="ruby-comment cmt"># File erubis/engine/escheme.rb, line 23</span>
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>={})
361
361
  <span class="ruby-keyword kw">super</span>
362
362
  <span class="ruby-ivar">@escapefunc</span> <span class="ruby-operator">||=</span> <span class="ruby-value str">'escape'</span>
@@ -74,7 +74,7 @@
74
74
 
75
75
  <div id="description">
76
76
  <p>
77
- get <a href="SimplifyEnhancer.html#M000023">convert</a> faster, but spaces
77
+ get <a href="SimplifyEnhancer.html#M000062">convert</a> faster, but spaces
78
78
  around &#8217;&lt;%&#8230;%&gt;&#8217; are not trimmed.
79
79
  </p>
80
80
  <p>
@@ -90,7 +90,7 @@ this is language-independent.
90
90
  <h3 class="section-bar">Methods</h3>
91
91
 
92
92
  <div class="name-list">
93
- <a href="#M000023">convert</a>&nbsp;&nbsp;
93
+ <a href="#M000062">convert</a>&nbsp;&nbsp;
94
94
  </div>
95
95
  </div>
96
96
 
@@ -130,21 +130,21 @@ DEFAULT_REGEXP = /(^[ \t]*)?&lt;%(=+|\#)?(.*?)-?%&gt;([ \t]*\r?\n)?/m
130
130
  <div id="methods">
131
131
  <h3 class="section-bar">Public Instance methods</h3>
132
132
 
133
- <div id="method-M000023" class="method-detail">
134
- <a name="M000023"></a>
133
+ <div id="method-M000062" class="method-detail">
134
+ <a name="M000062"></a>
135
135
 
136
136
  <div class="method-heading">
137
- <a href="#M000023" class="method-signature">
137
+ <a href="#M000062" class="method-signature">
138
138
  <span class="method-name">convert</span><span class="method-args">(input)</span>
139
139
  </a>
140
140
  </div>
141
141
 
142
142
  <div class="method-description">
143
143
  <p><a class="source-toggle" href="#"
144
- onclick="toggleCode('M000023-source');return false;">[Source]</a></p>
145
- <div class="method-source-code" id="M000023-source">
144
+ onclick="toggleCode('M000062-source');return false;">[Source]</a></p>
145
+ <div class="method-source-code" id="M000062-source">
146
146
  <pre>
147
- <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 343</span>
147
+ <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 342</span>
148
148
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">convert</span>(<span class="ruby-identifier">input</span>)
149
149
  <span class="ruby-identifier">src</span> = <span class="ruby-value str">&quot;&quot;</span>
150
150
  <span class="ruby-identifier">add_preamble</span>(<span class="ruby-identifier">src</span>)
@@ -165,7 +165,8 @@ DEFAULT_REGEXP = /(^[ \t]*)?&lt;%(=+|\#)?(.*?)-?%&gt;([ \t]*\r?\n)?/m
165
165
  <span class="ruby-identifier">add_expr</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">code</span>, <span class="ruby-identifier">indicator</span>)
166
166
  <span class="ruby-keyword kw">end</span>
167
167
  <span class="ruby-keyword kw">end</span>
168
- <span class="ruby-identifier">rest</span> = <span class="ruby-identifier">$'</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">input</span>
168
+ <span class="ruby-comment cmt">#rest = $' || input # ruby1.8</span>
169
+ <span class="ruby-identifier">rest</span> = <span class="ruby-identifier">pos</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">input</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">input</span>[<span class="ruby-identifier">pos</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>] <span class="ruby-comment cmt"># ruby1.9</span>
169
170
  <span class="ruby-identifier">add_text</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">rest</span>)
170
171
  <span class="ruby-identifier">add_postamble</span>(<span class="ruby-identifier">src</span>)
171
172
  <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">src</span>
@@ -126,7 +126,7 @@ this is only for <a href="Eruby.html">Eruby</a>.
126
126
  onclick="toggleCode('M000064-source');return false;">[Source]</a></p>
127
127
  <div class="method-source-code" id="M000064-source">
128
128
  <pre>
129
- <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 74</span>
129
+ <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 73</span>
130
130
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_postamble</span>(<span class="ruby-identifier">src</span>)
131
131
  <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n''\n&quot;</span>
132
132
  <span class="ruby-keyword kw">end</span>
@@ -149,9 +149,9 @@ this is only for <a href="Eruby.html">Eruby</a>.
149
149
  onclick="toggleCode('M000063-source');return false;">[Source]</a></p>
150
150
  <div class="method-source-code" id="M000063-source">
151
151
  <pre>
152
- <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 70</span>
152
+ <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 69</span>
153
153
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_preamble</span>(<span class="ruby-identifier">src</span>)
154
- <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;_buf = $stdout;&quot;</span>
154
+ <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{@bufvar} = $stdout;&quot;</span>
155
155
  <span class="ruby-keyword kw">end</span>
156
156
  </pre>
157
157
  </div>
@@ -89,8 +89,8 @@ this is only for <a href="Eruby.html">Eruby</a>.
89
89
  <h3 class="section-bar">Methods</h3>
90
90
 
91
91
  <div class="name-list">
92
- <a href="#M000160">add_postamble</a>&nbsp;&nbsp;
93
- <a href="#M000159">add_preamble</a>&nbsp;&nbsp;
92
+ <a href="#M000024">add_postamble</a>&nbsp;&nbsp;
93
+ <a href="#M000023">add_preamble</a>&nbsp;&nbsp;
94
94
  </div>
95
95
  </div>
96
96
 
@@ -112,47 +112,47 @@ this is only for <a href="Eruby.html">Eruby</a>.
112
112
  <div id="methods">
113
113
  <h3 class="section-bar">Public Instance methods</h3>
114
114
 
115
- <div id="method-M000160" class="method-detail">
116
- <a name="M000160"></a>
115
+ <div id="method-M000024" class="method-detail">
116
+ <a name="M000024"></a>
117
117
 
118
118
  <div class="method-heading">
119
- <a href="#M000160" class="method-signature">
119
+ <a href="#M000024" class="method-signature">
120
120
  <span class="method-name">add_postamble</span><span class="method-args">(src)</span>
121
121
  </a>
122
122
  </div>
123
123
 
124
124
  <div class="method-description">
125
125
  <p><a class="source-toggle" href="#"
126
- onclick="toggleCode('M000160-source');return false;">[Source]</a></p>
127
- <div class="method-source-code" id="M000160-source">
126
+ onclick="toggleCode('M000024-source');return false;">[Source]</a></p>
127
+ <div class="method-source-code" id="M000024-source">
128
128
  <pre>
129
- <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 215</span>
129
+ <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 214</span>
130
130
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_postamble</span>(<span class="ruby-identifier">src</span>)
131
131
  <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-keyword kw">unless</span> <span class="ruby-identifier">src</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?\n</span>
132
- <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;_buf.to_s\n&quot;</span>
132
+ <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{@bufvar}.to_s\n&quot;</span>
133
133
  <span class="ruby-keyword kw">end</span>
134
134
  </pre>
135
135
  </div>
136
136
  </div>
137
137
  </div>
138
138
 
139
- <div id="method-M000159" class="method-detail">
140
- <a name="M000159"></a>
139
+ <div id="method-M000023" class="method-detail">
140
+ <a name="M000023"></a>
141
141
 
142
142
  <div class="method-heading">
143
- <a href="#M000159" class="method-signature">
143
+ <a href="#M000023" class="method-signature">
144
144
  <span class="method-name">add_preamble</span><span class="method-args">(src)</span>
145
145
  </a>
146
146
  </div>
147
147
 
148
148
  <div class="method-description">
149
149
  <p><a class="source-toggle" href="#"
150
- onclick="toggleCode('M000159-source');return false;">[Source]</a></p>
151
- <div class="method-source-code" id="M000159-source">
150
+ onclick="toggleCode('M000023-source');return false;">[Source]</a></p>
151
+ <div class="method-source-code" id="M000023-source">
152
152
  <pre>
153
- <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 211</span>
153
+ <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 210</span>
154
154
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_preamble</span>(<span class="ruby-identifier">src</span>)
155
- <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;_buf = '';&quot;</span>
155
+ <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{@bufvar} = '';&quot;</span>
156
156
  <span class="ruby-keyword kw">end</span>
157
157
  </pre>
158
158
  </div>