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
@@ -86,10 +86,10 @@
86
86
  <h3 class="section-bar">Methods</h3>
87
87
 
88
88
  <div class="name-list">
89
- <a href="#M000049">convert</a>&nbsp;&nbsp;
90
- <a href="#M000051">evaluate</a>&nbsp;&nbsp;
91
- <a href="#M000048">new</a>&nbsp;&nbsp;
92
- <a href="#M000050">result</a>&nbsp;&nbsp;
89
+ <a href="#M000053">convert</a>&nbsp;&nbsp;
90
+ <a href="#M000055">evaluate</a>&nbsp;&nbsp;
91
+ <a href="#M000052">new</a>&nbsp;&nbsp;
92
+ <a href="#M000054">result</a>&nbsp;&nbsp;
93
93
  </div>
94
94
  </div>
95
95
 
@@ -137,21 +137,21 @@
137
137
  <div id="methods">
138
138
  <h3 class="section-bar">Public Class methods</h3>
139
139
 
140
- <div id="method-M000048" class="method-detail">
141
- <a name="M000048"></a>
140
+ <div id="method-M000052" class="method-detail">
141
+ <a name="M000052"></a>
142
142
 
143
143
  <div class="method-heading">
144
- <a href="#M000048" class="method-signature">
144
+ <a href="#M000052" class="method-signature">
145
145
  <span class="method-name">new</span><span class="method-args">(input=nil, options={})</span>
146
146
  </a>
147
147
  </div>
148
148
 
149
149
  <div class="method-description">
150
150
  <p><a class="source-toggle" href="#"
151
- onclick="toggleCode('M000048-source');return false;">[Source]</a></p>
152
- <div class="method-source-code" id="M000048-source">
151
+ onclick="toggleCode('M000052-source');return false;">[Source]</a></p>
152
+ <div class="method-source-code" id="M000052-source">
153
153
  <pre>
154
- <span class="ruby-comment cmt"># File erubis/tiny.rb, line 80</span>
154
+ <span class="ruby-comment cmt"># File erubis/tiny.rb, line 79</span>
155
155
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">input</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">options</span>={})
156
156
  <span class="ruby-ivar">@escape</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:escape</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">'Erubis::XmlHelper.escape_xml'</span>
157
157
  <span class="ruby-ivar">@src</span> = <span class="ruby-identifier">convert</span>(<span class="ruby-identifier">input</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">input</span>
@@ -163,21 +163,21 @@
163
163
 
164
164
  <h3 class="section-bar">Public Instance methods</h3>
165
165
 
166
- <div id="method-M000049" class="method-detail">
167
- <a name="M000049"></a>
166
+ <div id="method-M000053" class="method-detail">
167
+ <a name="M000053"></a>
168
168
 
169
169
  <div class="method-heading">
170
- <a href="#M000049" class="method-signature">
170
+ <a href="#M000053" class="method-signature">
171
171
  <span class="method-name">convert</span><span class="method-args">(input)</span>
172
172
  </a>
173
173
  </div>
174
174
 
175
175
  <div class="method-description">
176
176
  <p><a class="source-toggle" href="#"
177
- onclick="toggleCode('M000049-source');return false;">[Source]</a></p>
178
- <div class="method-source-code" id="M000049-source">
177
+ onclick="toggleCode('M000053-source');return false;">[Source]</a></p>
178
+ <div class="method-source-code" id="M000053-source">
179
179
  <pre>
180
- <span class="ruby-comment cmt"># File erubis/tiny.rb, line 89</span>
180
+ <span class="ruby-comment cmt"># File erubis/tiny.rb, line 88</span>
181
181
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">convert</span>(<span class="ruby-identifier">input</span>)
182
182
  <span class="ruby-identifier">src</span> = <span class="ruby-value str">&quot;_buf = '';&quot;</span> <span class="ruby-comment cmt"># preamble</span>
183
183
  <span class="ruby-identifier">pos</span> = <span class="ruby-value">0</span>
@@ -205,7 +205,8 @@
205
205
  <span class="ruby-keyword kw">end</span>
206
206
  <span class="ruby-keyword kw">end</span>
207
207
  <span class="ruby-keyword kw">end</span>
208
- <span class="ruby-identifier">rest</span> = <span class="ruby-identifier">$'</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">input</span>
208
+ <span class="ruby-comment cmt">#rest = $' || input # ruby1.8</span>
209
+ <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>
209
210
  <span class="ruby-comment cmt">#src &lt;&lt; &quot; _buf &lt;&lt; '&quot; &lt;&lt; escape_text(rest) &lt;&lt; &quot;';&quot;</span>
210
211
  <span class="ruby-identifier">rest</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/['\\]/</span>, <span class="ruby-value str">'\\\\\&amp;'</span>)
211
212
  <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">rest</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">rest</span>.<span class="ruby-identifier">empty?</span>
@@ -217,19 +218,19 @@
217
218
  </div>
218
219
  </div>
219
220
 
220
- <div id="method-M000051" class="method-detail">
221
- <a name="M000051"></a>
221
+ <div id="method-M000055" class="method-detail">
222
+ <a name="M000055"></a>
222
223
 
223
224
  <div class="method-heading">
224
- <a href="#M000051" class="method-signature">
225
+ <a href="#M000055" class="method-signature">
225
226
  <span class="method-name">evaluate</span><span class="method-args">(_context=Object.new)</span>
226
227
  </a>
227
228
  </div>
228
229
 
229
230
  <div class="method-description">
230
231
  <p><a class="source-toggle" href="#"
231
- onclick="toggleCode('M000051-source');return false;">[Source]</a></p>
232
- <div class="method-source-code" id="M000051-source">
232
+ onclick="toggleCode('M000055-source');return false;">[Source]</a></p>
233
+ <div class="method-source-code" id="M000055-source">
233
234
  <pre>
234
235
  <span class="ruby-comment cmt"># File erubis/tiny.rb, line 132</span>
235
236
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">evaluate</span>(<span class="ruby-identifier">_context</span>=<span class="ruby-constant">Object</span>.<span class="ruby-identifier">new</span>)
@@ -245,11 +246,11 @@
245
246
  </div>
246
247
  </div>
247
248
 
248
- <div id="method-M000050" class="method-detail">
249
- <a name="M000050"></a>
249
+ <div id="method-M000054" class="method-detail">
250
+ <a name="M000054"></a>
250
251
 
251
252
  <div class="method-heading">
252
- <a href="#M000050" class="method-signature">
253
+ <a href="#M000054" class="method-signature">
253
254
  <span class="method-name">result</span><span class="method-args">(_binding=TOPLEVEL_BINDING)</span>
254
255
  </a>
255
256
  </div>
@@ -265,8 +266,8 @@ def escape_text(text)
265
266
  end
266
267
  </p>
267
268
  <p><a class="source-toggle" href="#"
268
- onclick="toggleCode('M000050-source');return false;">[Source]</a></p>
269
- <div class="method-source-code" id="M000050-source">
269
+ onclick="toggleCode('M000054-source');return false;">[Source]</a></p>
270
+ <div class="method-source-code" id="M000054-source">
270
271
  <pre>
271
272
  <span class="ruby-comment cmt"># File erubis/tiny.rb, line 128</span>
272
273
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">result</span>(<span class="ruby-identifier">_binding</span>=<span class="ruby-constant">TOPLEVEL_BINDING</span>)
@@ -93,6 +93,7 @@
93
93
 
94
94
  Module <a href="PI/Converter.html" class="link">Erubis::PI::Converter</a><br />
95
95
  Class <a href="PI/Ec.html" class="link">Erubis::PI::Ec</a><br />
96
+ Class <a href="PI/Ecpp.html" class="link">Erubis::PI::Ecpp</a><br />
96
97
  Class <a href="PI/Ejava.html" class="link">Erubis::PI::Ejava</a><br />
97
98
  Class <a href="PI/Ejavascript.html" class="link">Erubis::PI::Ejavascript</a><br />
98
99
  Class <a href="PI/Engine.html" class="link">Erubis::PI::Engine</a><br />
@@ -92,7 +92,7 @@ this is language-independent.
92
92
  <h3 class="section-bar">Methods</h3>
93
93
 
94
94
  <div class="name-list">
95
- <a href="#M000150">add_text</a>&nbsp;&nbsp;
95
+ <a href="#M000176">add_text</a>&nbsp;&nbsp;
96
96
  </div>
97
97
  </div>
98
98
 
@@ -100,23 +100,17 @@ this is language-independent.
100
100
 
101
101
 
102
102
  <!-- if includes -->
103
+ <div id="includes">
104
+ <h3 class="section-bar">Included Modules</h3>
103
105
 
104
- <div id="section">
106
+ <div id="includes-list">
107
+ <span class="include-name"><a href="PrefixedLineEnhancer.html">PrefixedLineEnhancer</a></span>
108
+ </div>
109
+ </div>
105
110
 
111
+ <div id="section">
106
112
 
107
- <div id="constants-list">
108
- <h3 class="section-bar">Constants</h3>
109
113
 
110
- <div class="name-list">
111
- <table summary="Constants">
112
- <tr class="top-aligned-row context-row">
113
- <td class="context-item-name">PERCENT_LINE_PATTERN</td>
114
- <td>=</td>
115
- <td class="context-item-value">/(.*?)^\%(.*?\r?\n)/m</td>
116
- </tr>
117
- </table>
118
- </div>
119
- </div>
120
114
 
121
115
 
122
116
 
@@ -127,32 +121,27 @@ this is language-independent.
127
121
  <div id="methods">
128
122
  <h3 class="section-bar">Public Instance methods</h3>
129
123
 
130
- <div id="method-M000150" class="method-detail">
131
- <a name="M000150"></a>
124
+ <div id="method-M000176" class="method-detail">
125
+ <a name="M000176"></a>
132
126
 
133
127
  <div class="method-heading">
134
- <a href="#M000150" class="method-signature">
128
+ <a href="#M000176" class="method-signature">
135
129
  <span class="method-name">add_text</span><span class="method-args">(src, text)</span>
136
130
  </a>
137
131
  </div>
138
132
 
139
133
  <div class="method-description">
140
134
  <p><a class="source-toggle" href="#"
141
- onclick="toggleCode('M000150-source');return false;">[Source]</a></p>
142
- <div class="method-source-code" id="M000150-source">
135
+ onclick="toggleCode('M000176-source');return false;">[Source]</a></p>
136
+ <div class="method-source-code" id="M000176-source">
143
137
  <pre>
144
- <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 448</span>
138
+ <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 516</span>
145
139
  <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>)
146
- <span class="ruby-identifier">text</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-constant">PERCENT_LINE_PATTERN</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">txt</span>, <span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
147
- <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">txt</span>)
148
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">line</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?%</span>
149
- <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">line</span>)
150
- <span class="ruby-keyword kw">else</span>
151
- <span class="ruby-identifier">add_stmt</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">line</span>)
152
- <span class="ruby-keyword kw">end</span>
140
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@prefixrexp</span>
141
+ <span class="ruby-ivar">@prefixchar</span> = <span class="ruby-value str">'%'</span>
142
+ <span class="ruby-ivar">@prefixrexp</span> = <span class="ruby-regexp re">/^\%(.*?\r?\n)/</span>
153
143
  <span class="ruby-keyword kw">end</span>
154
- <span class="ruby-identifier">rest</span> = <span class="ruby-identifier">$'</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">text</span>
155
- <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">rest</span>)
144
+ <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">text</span>)
156
145
  <span class="ruby-keyword kw">end</span>
157
146
  </pre>
158
147
  </div>
@@ -80,15 +80,15 @@
80
80
  <h3 class="section-bar">Methods</h3>
81
81
 
82
82
  <div class="name-list">
83
- <a href="#M000071">add_expr_debug</a>&nbsp;&nbsp;
84
- <a href="#M000070">add_expr_escaped</a>&nbsp;&nbsp;
85
- <a href="#M000069">add_expr_literal</a>&nbsp;&nbsp;
86
- <a href="#M000073">add_postamble</a>&nbsp;&nbsp;
87
- <a href="#M000066">add_preamble</a>&nbsp;&nbsp;
88
- <a href="#M000072">add_stmt</a>&nbsp;&nbsp;
89
- <a href="#M000068">add_text</a>&nbsp;&nbsp;
90
- <a href="#M000067">escape_text</a>&nbsp;&nbsp;
91
- <a href="#M000065">init_generator</a>&nbsp;&nbsp;
83
+ <a href="#M000163">add_expr_debug</a>&nbsp;&nbsp;
84
+ <a href="#M000162">add_expr_escaped</a>&nbsp;&nbsp;
85
+ <a href="#M000161">add_expr_literal</a>&nbsp;&nbsp;
86
+ <a href="#M000165">add_postamble</a>&nbsp;&nbsp;
87
+ <a href="#M000158">add_preamble</a>&nbsp;&nbsp;
88
+ <a href="#M000164">add_stmt</a>&nbsp;&nbsp;
89
+ <a href="#M000160">add_text</a>&nbsp;&nbsp;
90
+ <a href="#M000159">escape_text</a>&nbsp;&nbsp;
91
+ <a href="#M000157">init_generator</a>&nbsp;&nbsp;
92
92
  </div>
93
93
  </div>
94
94
 
@@ -117,21 +117,21 @@
117
117
  <div id="methods">
118
118
  <h3 class="section-bar">Public Instance methods</h3>
119
119
 
120
- <div id="method-M000071" class="method-detail">
121
- <a name="M000071"></a>
120
+ <div id="method-M000163" class="method-detail">
121
+ <a name="M000163"></a>
122
122
 
123
123
  <div class="method-heading">
124
- <a href="#M000071" class="method-signature">
124
+ <a href="#M000163" class="method-signature">
125
125
  <span class="method-name">add_expr_debug</span><span class="method-args">(src, code)</span>
126
126
  </a>
127
127
  </div>
128
128
 
129
129
  <div class="method-description">
130
130
  <p><a class="source-toggle" href="#"
131
- onclick="toggleCode('M000071-source');return false;">[Source]</a></p>
132
- <div class="method-source-code" id="M000071-source">
131
+ onclick="toggleCode('M000163-source');return false;">[Source]</a></p>
132
+ <div class="method-source-code" id="M000163-source">
133
133
  <pre>
134
- <span class="ruby-comment cmt"># File erubis/engine/eperl.rb, line 50</span>
134
+ <span class="ruby-comment cmt"># File erubis/engine/eperl.rb, line 49</span>
135
135
  <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>)
136
136
  <span class="ruby-identifier">code</span>.<span class="ruby-identifier">strip!</span>
137
137
  <span class="ruby-identifier">s</span> = <span class="ruby-identifier">code</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\'/</span>, <span class="ruby-value str">&quot;\\'&quot;</span>)
@@ -142,21 +142,21 @@
142
142
  </div>
143
143
  </div>
144
144
 
145
- <div id="method-M000070" class="method-detail">
146
- <a name="M000070"></a>
145
+ <div id="method-M000162" class="method-detail">
146
+ <a name="M000162"></a>
147
147
 
148
148
  <div class="method-heading">
149
- <a href="#M000070" class="method-signature">
149
+ <a href="#M000162" 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('M000070-source');return false;">[Source]</a></p>
157
- <div class="method-source-code" id="M000070-source">
156
+ onclick="toggleCode('M000162-source');return false;">[Source]</a></p>
157
+ <div class="method-source-code" id="M000162-source">
158
158
  <pre>
159
- <span class="ruby-comment cmt"># File erubis/engine/eperl.rb, line 46</span>
159
+ <span class="ruby-comment cmt"># File erubis/engine/eperl.rb, line 45</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-M000069" class="method-detail">
169
- <a name="M000069"></a>
168
+ <div id="method-M000161" class="method-detail">
169
+ <a name="M000161"></a>
170
170
 
171
171
  <div class="method-heading">
172
- <a href="#M000069" class="method-signature">
172
+ <a href="#M000161" 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('M000069-source');return false;">[Source]</a></p>
180
- <div class="method-source-code" id="M000069-source">
179
+ onclick="toggleCode('M000161-source');return false;">[Source]</a></p>
180
+ <div class="method-source-code" id="M000161-source">
181
181
  <pre>
182
- <span class="ruby-comment cmt"># File erubis/engine/eperl.rb, line 41</span>
182
+ <span class="ruby-comment cmt"># File erubis/engine/eperl.rb, line 40</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-ivar">@func</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;(&quot;</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">code</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;); &quot;</span>
@@ -189,21 +189,21 @@
189
189
  </div>
190
190
  </div>
191
191
 
192
- <div id="method-M000073" class="method-detail">
193
- <a name="M000073"></a>
192
+ <div id="method-M000165" class="method-detail">
193
+ <a name="M000165"></a>
194
194
 
195
195
  <div class="method-heading">
196
- <a href="#M000073" class="method-signature">
196
+ <a href="#M000165" 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('M000073-source');return false;">[Source]</a></p>
204
- <div class="method-source-code" id="M000073-source">
203
+ onclick="toggleCode('M000165-source');return false;">[Source]</a></p>
204
+ <div class="method-source-code" id="M000165-source">
205
205
  <pre>
206
- <span class="ruby-comment cmt"># File erubis/engine/eperl.rb, line 60</span>
206
+ <span class="ruby-comment cmt"># File erubis/engine/eperl.rb, line 59</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-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>
209
209
  <span class="ruby-keyword kw">end</span>
@@ -212,21 +212,21 @@
212
212
  </div>
213
213
  </div>
214
214
 
215
- <div id="method-M000066" class="method-detail">
216
- <a name="M000066"></a>
215
+ <div id="method-M000158" class="method-detail">
216
+ <a name="M000158"></a>
217
217
 
218
218
  <div class="method-heading">
219
- <a href="#M000066" class="method-signature">
219
+ <a href="#M000158" class="method-signature">
220
220
  <span class="method-name">add_preamble</span><span class="method-args">(src)</span>
221
221
  </a>
222
222
  </div>
223
223
 
224
224
  <div class="method-description">
225
225
  <p><a class="source-toggle" href="#"
226
- onclick="toggleCode('M000066-source');return false;">[Source]</a></p>
227
- <div class="method-source-code" id="M000066-source">
226
+ onclick="toggleCode('M000158-source');return false;">[Source]</a></p>
227
+ <div class="method-source-code" id="M000158-source">
228
228
  <pre>
229
- <span class="ruby-comment cmt"># File erubis/engine/eperl.rb, line 29</span>
229
+ <span class="ruby-comment cmt"># File erubis/engine/eperl.rb, line 28</span>
230
230
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_preamble</span>(<span class="ruby-identifier">src</span>)
231
231
  <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;use HTML::Entities; &quot;</span>;
232
232
  <span class="ruby-keyword kw">end</span>
@@ -235,21 +235,21 @@
235
235
  </div>
236
236
  </div>
237
237
 
238
- <div id="method-M000072" class="method-detail">
239
- <a name="M000072"></a>
238
+ <div id="method-M000164" class="method-detail">
239
+ <a name="M000164"></a>
240
240
 
241
241
  <div class="method-heading">
242
- <a href="#M000072" class="method-signature">
242
+ <a href="#M000164" class="method-signature">
243
243
  <span class="method-name">add_stmt</span><span class="method-args">(src, code)</span>
244
244
  </a>
245
245
  </div>
246
246
 
247
247
  <div class="method-description">
248
248
  <p><a class="source-toggle" href="#"
249
- onclick="toggleCode('M000072-source');return false;">[Source]</a></p>
250
- <div class="method-source-code" id="M000072-source">
249
+ onclick="toggleCode('M000164-source');return false;">[Source]</a></p>
250
+ <div class="method-source-code" id="M000164-source">
251
251
  <pre>
252
- <span class="ruby-comment cmt"># File erubis/engine/eperl.rb, line 56</span>
252
+ <span class="ruby-comment cmt"># File erubis/engine/eperl.rb, line 55</span>
253
253
  <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>)
254
254
  <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">code</span>
255
255
  <span class="ruby-keyword kw">end</span>
@@ -258,21 +258,21 @@
258
258
  </div>
259
259
  </div>
260
260
 
261
- <div id="method-M000068" class="method-detail">
262
- <a name="M000068"></a>
261
+ <div id="method-M000160" class="method-detail">
262
+ <a name="M000160"></a>
263
263
 
264
264
  <div class="method-heading">
265
- <a href="#M000068" class="method-signature">
265
+ <a href="#M000160" class="method-signature">
266
266
  <span class="method-name">add_text</span><span class="method-args">(src, text)</span>
267
267
  </a>
268
268
  </div>
269
269
 
270
270
  <div class="method-description">
271
271
  <p><a class="source-toggle" href="#"
272
- onclick="toggleCode('M000068-source');return false;">[Source]</a></p>
273
- <div class="method-source-code" id="M000068-source">
272
+ onclick="toggleCode('M000160-source');return false;">[Source]</a></p>
273
+ <div class="method-source-code" id="M000160-source">
274
274
  <pre>
275
- <span class="ruby-comment cmt"># File erubis/engine/eperl.rb, line 37</span>
275
+ <span class="ruby-comment cmt"># File erubis/engine/eperl.rb, line 36</span>
276
276
  <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>)
277
277
  <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@func</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;('&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>
278
278
  <span class="ruby-keyword kw">end</span>
@@ -281,21 +281,21 @@
281
281
  </div>
282
282
  </div>
283
283
 
284
- <div id="method-M000067" class="method-detail">
285
- <a name="M000067"></a>
284
+ <div id="method-M000159" class="method-detail">
285
+ <a name="M000159"></a>
286
286
 
287
287
  <div class="method-heading">
288
- <a href="#M000067" class="method-signature">
288
+ <a href="#M000159" class="method-signature">
289
289
  <span class="method-name">escape_text</span><span class="method-args">(text)</span>
290
290
  </a>
291
291
  </div>
292
292
 
293
293
  <div class="method-description">
294
294
  <p><a class="source-toggle" href="#"
295
- onclick="toggleCode('M000067-source');return false;">[Source]</a></p>
296
- <div class="method-source-code" id="M000067-source">
295
+ onclick="toggleCode('M000159-source');return false;">[Source]</a></p>
296
+ <div class="method-source-code" id="M000159-source">
297
297
  <pre>
298
- <span class="ruby-comment cmt"># File erubis/engine/eperl.rb, line 33</span>
298
+ <span class="ruby-comment cmt"># File erubis/engine/eperl.rb, line 32</span>
299
299
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">escape_text</span>(<span class="ruby-identifier">text</span>)
300
300
  <span class="ruby-keyword kw">return</span> <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-operator">||</span> <span class="ruby-identifier">text</span>
301
301
  <span class="ruby-keyword kw">end</span>
@@ -304,21 +304,21 @@
304
304
  </div>
305
305
  </div>
306
306
 
307
- <div id="method-M000065" class="method-detail">
308
- <a name="M000065"></a>
307
+ <div id="method-M000157" class="method-detail">
308
+ <a name="M000157"></a>
309
309
 
310
310
  <div class="method-heading">
311
- <a href="#M000065" class="method-signature">
311
+ <a href="#M000157" class="method-signature">
312
312
  <span class="method-name">init_generator</span><span class="method-args">(properties={})</span>
313
313
  </a>
314
314
  </div>
315
315
 
316
316
  <div class="method-description">
317
317
  <p><a class="source-toggle" href="#"
318
- onclick="toggleCode('M000065-source');return false;">[Source]</a></p>
319
- <div class="method-source-code" id="M000065-source">
318
+ onclick="toggleCode('M000157-source');return false;">[Source]</a></p>
319
+ <div class="method-source-code" id="M000157-source">
320
320
  <pre>
321
- <span class="ruby-comment cmt"># File erubis/engine/eperl.rb, line 23</span>
321
+ <span class="ruby-comment cmt"># File erubis/engine/eperl.rb, line 22</span>
322
322
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">init_generator</span>(<span class="ruby-identifier">properties</span>={})
323
323
  <span class="ruby-keyword kw">super</span>
324
324
  <span class="ruby-ivar">@escapefunc</span> <span class="ruby-operator">||=</span> <span class="ruby-value str">'encode_entities'</span>