erubis 2.3.1 → 2.7.0

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