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,15 +80,15 @@
80
80
  <h3 class="section-bar">Methods</h3>
81
81
 
82
82
  <div class="name-list">
83
- <a href="#M000113">add_expr_debug</a>&nbsp;&nbsp;
84
- <a href="#M000112">add_expr_escaped</a>&nbsp;&nbsp;
85
- <a href="#M000111">add_expr_literal</a>&nbsp;&nbsp;
86
- <a href="#M000115">add_postamble</a>&nbsp;&nbsp;
87
- <a href="#M000108">add_preamble</a>&nbsp;&nbsp;
88
- <a href="#M000114">add_stmt</a>&nbsp;&nbsp;
89
- <a href="#M000110">add_text</a>&nbsp;&nbsp;
90
- <a href="#M000109">escape_text</a>&nbsp;&nbsp;
91
- <a href="#M000107">init_generator</a>&nbsp;&nbsp;
83
+ <a href="#M000128">add_expr_debug</a>&nbsp;&nbsp;
84
+ <a href="#M000127">add_expr_escaped</a>&nbsp;&nbsp;
85
+ <a href="#M000126">add_expr_literal</a>&nbsp;&nbsp;
86
+ <a href="#M000130">add_postamble</a>&nbsp;&nbsp;
87
+ <a href="#M000123">add_preamble</a>&nbsp;&nbsp;
88
+ <a href="#M000129">add_stmt</a>&nbsp;&nbsp;
89
+ <a href="#M000125">add_text</a>&nbsp;&nbsp;
90
+ <a href="#M000124">escape_text</a>&nbsp;&nbsp;
91
+ <a href="#M000122">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-M000113" class="method-detail">
121
- <a name="M000113"></a>
120
+ <div id="method-M000128" class="method-detail">
121
+ <a name="M000128"></a>
122
122
 
123
123
  <div class="method-heading">
124
- <a href="#M000113" class="method-signature">
124
+ <a href="#M000128" 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('M000113-source');return false;">[Source]</a></p>
132
- <div class="method-source-code" id="M000113-source">
131
+ onclick="toggleCode('M000128-source');return false;">[Source]</a></p>
132
+ <div class="method-source-code" id="M000128-source">
133
133
  <pre>
134
- <span class="ruby-comment cmt"># File erubis/engine/ephp.rb, line 47</span>
134
+ <span class="ruby-comment cmt"># File erubis/engine/ephp.rb, line 46</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-M000112" class="method-detail">
146
- <a name="M000112"></a>
145
+ <div id="method-M000127" class="method-detail">
146
+ <a name="M000127"></a>
147
147
 
148
148
  <div class="method-heading">
149
- <a href="#M000112" class="method-signature">
149
+ <a href="#M000127" 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('M000112-source');return false;">[Source]</a></p>
157
- <div class="method-source-code" id="M000112-source">
156
+ onclick="toggleCode('M000127-source');return false;">[Source]</a></p>
157
+ <div class="method-source-code" id="M000127-source">
158
158
  <pre>
159
- <span class="ruby-comment cmt"># File erubis/engine/ephp.rb, line 43</span>
159
+ <span class="ruby-comment cmt"># File erubis/engine/ephp.rb, line 42</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-M000111" class="method-detail">
169
- <a name="M000111"></a>
168
+ <div id="method-M000126" class="method-detail">
169
+ <a name="M000126"></a>
170
170
 
171
171
  <div class="method-heading">
172
- <a href="#M000111" class="method-signature">
172
+ <a href="#M000126" 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('M000111-source');return false;">[Source]</a></p>
180
- <div class="method-source-code" id="M000111-source">
179
+ onclick="toggleCode('M000126-source');return false;">[Source]</a></p>
180
+ <div class="method-source-code" id="M000126-source">
181
181
  <pre>
182
- <span class="ruby-comment cmt"># File erubis/engine/ephp.rb, line 38</span>
182
+ <span class="ruby-comment cmt"># File erubis/engine/ephp.rb, line 37</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;&lt;?php echo #{code}; ?&gt;&quot;</span>
@@ -189,21 +189,21 @@
189
189
  </div>
190
190
  </div>
191
191
 
192
- <div id="method-M000115" class="method-detail">
193
- <a name="M000115"></a>
192
+ <div id="method-M000130" class="method-detail">
193
+ <a name="M000130"></a>
194
194
 
195
195
  <div class="method-heading">
196
- <a href="#M000115" class="method-signature">
196
+ <a href="#M000130" 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('M000115-source');return false;">[Source]</a></p>
204
- <div class="method-source-code" id="M000115-source">
203
+ onclick="toggleCode('M000130-source');return false;">[Source]</a></p>
204
+ <div class="method-source-code" id="M000130-source">
205
205
  <pre>
206
- <span class="ruby-comment cmt"># File erubis/engine/ephp.rb, line 64</span>
206
+ <span class="ruby-comment cmt"># File erubis/engine/ephp.rb, line 63</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-comment cmt"># empty</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-M000108" class="method-detail">
216
- <a name="M000108"></a>
215
+ <div id="method-M000123" class="method-detail">
216
+ <a name="M000123"></a>
217
217
 
218
218
  <div class="method-heading">
219
- <a href="#M000108" class="method-signature">
219
+ <a href="#M000123" 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('M000108-source');return false;">[Source]</a></p>
227
- <div class="method-source-code" id="M000108-source">
226
+ onclick="toggleCode('M000123-source');return false;">[Source]</a></p>
227
+ <div class="method-source-code" id="M000123-source">
228
228
  <pre>
229
- <span class="ruby-comment cmt"># File erubis/engine/ephp.rb, line 26</span>
229
+ <span class="ruby-comment cmt"># File erubis/engine/ephp.rb, line 25</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-comment cmt"># empty</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-M000114" class="method-detail">
239
- <a name="M000114"></a>
238
+ <div id="method-M000129" class="method-detail">
239
+ <a name="M000129"></a>
240
240
 
241
241
  <div class="method-heading">
242
- <a href="#M000114" class="method-signature">
242
+ <a href="#M000129" 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('M000114-source');return false;">[Source]</a></p>
250
- <div class="method-source-code" id="M000114-source">
249
+ onclick="toggleCode('M000129-source');return false;">[Source]</a></p>
250
+ <div class="method-source-code" id="M000129-source">
251
251
  <pre>
252
- <span class="ruby-comment cmt"># File erubis/engine/ephp.rb, line 53</span>
252
+ <span class="ruby-comment cmt"># File erubis/engine/ephp.rb, line 52</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-value str">&quot;&lt;?php&quot;</span>
255
255
  <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; &quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">code</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">?\ </span><span class="ruby-comment cmt">#</span>
@@ -265,21 +265,21 @@
265
265
  </div>
266
266
  </div>
267
267
 
268
- <div id="method-M000110" class="method-detail">
269
- <a name="M000110"></a>
268
+ <div id="method-M000125" class="method-detail">
269
+ <a name="M000125"></a>
270
270
 
271
271
  <div class="method-heading">
272
- <a href="#M000110" class="method-signature">
272
+ <a href="#M000125" class="method-signature">
273
273
  <span class="method-name">add_text</span><span class="method-args">(src, text)</span>
274
274
  </a>
275
275
  </div>
276
276
 
277
277
  <div class="method-description">
278
278
  <p><a class="source-toggle" href="#"
279
- onclick="toggleCode('M000110-source');return false;">[Source]</a></p>
280
- <div class="method-source-code" id="M000110-source">
279
+ onclick="toggleCode('M000125-source');return false;">[Source]</a></p>
280
+ <div class="method-source-code" id="M000125-source">
281
281
  <pre>
282
- <span class="ruby-comment cmt"># File erubis/engine/ephp.rb, line 34</span>
282
+ <span class="ruby-comment cmt"># File erubis/engine/ephp.rb, line 33</span>
283
283
  <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>)
284
284
  <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">escape_text</span>(<span class="ruby-identifier">text</span>)
285
285
  <span class="ruby-keyword kw">end</span>
@@ -288,21 +288,21 @@
288
288
  </div>
289
289
  </div>
290
290
 
291
- <div id="method-M000109" class="method-detail">
292
- <a name="M000109"></a>
291
+ <div id="method-M000124" class="method-detail">
292
+ <a name="M000124"></a>
293
293
 
294
294
  <div class="method-heading">
295
- <a href="#M000109" class="method-signature">
295
+ <a href="#M000124" class="method-signature">
296
296
  <span class="method-name">escape_text</span><span class="method-args">(text)</span>
297
297
  </a>
298
298
  </div>
299
299
 
300
300
  <div class="method-description">
301
301
  <p><a class="source-toggle" href="#"
302
- onclick="toggleCode('M000109-source');return false;">[Source]</a></p>
303
- <div class="method-source-code" id="M000109-source">
302
+ onclick="toggleCode('M000124-source');return false;">[Source]</a></p>
303
+ <div class="method-source-code" id="M000124-source">
304
304
  <pre>
305
- <span class="ruby-comment cmt"># File erubis/engine/ephp.rb, line 30</span>
305
+ <span class="ruby-comment cmt"># File erubis/engine/ephp.rb, line 29</span>
306
306
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">escape_text</span>(<span class="ruby-identifier">text</span>)
307
307
  <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">text</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/&lt;\?xml\b/</span>, <span class="ruby-value str">'&lt;&lt;?php ?&gt;?xml'</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">text</span>
308
308
  <span class="ruby-keyword kw">end</span>
@@ -311,21 +311,21 @@
311
311
  </div>
312
312
  </div>
313
313
 
314
- <div id="method-M000107" class="method-detail">
315
- <a name="M000107"></a>
314
+ <div id="method-M000122" class="method-detail">
315
+ <a name="M000122"></a>
316
316
 
317
317
  <div class="method-heading">
318
- <a href="#M000107" class="method-signature">
318
+ <a href="#M000122" class="method-signature">
319
319
  <span class="method-name">init_generator</span><span class="method-args">(properties={})</span>
320
320
  </a>
321
321
  </div>
322
322
 
323
323
  <div class="method-description">
324
324
  <p><a class="source-toggle" href="#"
325
- onclick="toggleCode('M000107-source');return false;">[Source]</a></p>
326
- <div class="method-source-code" id="M000107-source">
325
+ onclick="toggleCode('M000122-source');return false;">[Source]</a></p>
326
+ <div class="method-source-code" id="M000122-source">
327
327
  <pre>
328
- <span class="ruby-comment cmt"># File erubis/engine/ephp.rb, line 21</span>
328
+ <span class="ruby-comment cmt"># File erubis/engine/ephp.rb, line 20</span>
329
329
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">init_generator</span>(<span class="ruby-identifier">properties</span>={})
330
330
  <span class="ruby-keyword kw">super</span>
331
331
  <span class="ruby-ivar">@escapefunc</span> <span class="ruby-operator">||=</span> <span class="ruby-value str">'htmlspecialchars'</span>
@@ -0,0 +1,210 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Module: Erubis::PrefixedLineEnhancer</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Module</strong></td>
53
+ <td class="class-name-in-header">Erubis::PrefixedLineEnhancer</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/erubis/enhancer_rb.html">
59
+ erubis/enhancer.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ </table>
66
+ </div>
67
+ <!-- banner header -->
68
+
69
+ <div id="bodyContent">
70
+
71
+
72
+
73
+ <div id="contextContent">
74
+
75
+ <div id="description">
76
+ <p>
77
+ regards lines starting with &#8217;^[ \t]*%&#8217; as program code
78
+ </p>
79
+ <p>
80
+ in addition you can specify prefix character (default &#8217;%&#8217;)
81
+ </p>
82
+ <p>
83
+ this is language-independent.
84
+ </p>
85
+
86
+ </div>
87
+
88
+
89
+ </div>
90
+
91
+ <div id="method-list">
92
+ <h3 class="section-bar">Methods</h3>
93
+
94
+ <div class="name-list">
95
+ <a href="#M000005">add_text</a>&nbsp;&nbsp;
96
+ <a href="#M000004">init_generator</a>&nbsp;&nbsp;
97
+ </div>
98
+ </div>
99
+
100
+ </div>
101
+
102
+
103
+ <!-- if includes -->
104
+
105
+ <div id="section">
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+ <!-- if method_list -->
115
+ <div id="methods">
116
+ <h3 class="section-bar">Public Instance methods</h3>
117
+
118
+ <div id="method-M000005" class="method-detail">
119
+ <a name="M000005"></a>
120
+
121
+ <div class="method-heading">
122
+ <a href="#M000005" class="method-signature">
123
+ <span class="method-name">add_text</span><span class="method-args">(src, text)</span>
124
+ </a>
125
+ </div>
126
+
127
+ <div class="method-description">
128
+ <p><a class="source-toggle" href="#"
129
+ onclick="toggleCode('M000005-source');return false;">[Source]</a></p>
130
+ <div class="method-source-code" id="M000005-source">
131
+ <pre>
132
+ <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 454</span>
133
+ <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>)
134
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@prefixrexp</span>
135
+ <span class="ruby-ivar">@prefixchar</span> <span class="ruby-operator">||=</span> <span class="ruby-value str">'%'</span>
136
+ <span class="ruby-ivar">@prefixrexp</span> = <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">compile</span>(<span class="ruby-node">&quot;^([ \\t]*)\\#{@prefixchar}(.*?\\r?\\n)&quot;</span>)
137
+ <span class="ruby-keyword kw">end</span>
138
+ <span class="ruby-identifier">pos</span> = <span class="ruby-value">0</span>
139
+ <span class="ruby-identifier">text2</span> = <span class="ruby-value str">''</span>
140
+ <span class="ruby-identifier">text</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-ivar">@prefixrexp</span>) <span class="ruby-keyword kw">do</span>
141
+ <span class="ruby-identifier">space</span> = <span class="ruby-identifier">$1</span>
142
+ <span class="ruby-identifier">line</span> = <span class="ruby-identifier">$2</span>
143
+ <span class="ruby-identifier">space</span>, <span class="ruby-identifier">line</span> = <span class="ruby-value str">''</span>, <span class="ruby-identifier">$1</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">$2</span>
144
+ <span class="ruby-identifier">match</span> = <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">last_match</span>
145
+ <span class="ruby-identifier">len</span> = <span class="ruby-identifier">match</span>.<span class="ruby-identifier">begin</span>(<span class="ruby-value">0</span>) <span class="ruby-operator">-</span> <span class="ruby-identifier">pos</span>
146
+ <span class="ruby-identifier">str</span> = <span class="ruby-identifier">text</span>[<span class="ruby-identifier">pos</span>, <span class="ruby-identifier">len</span>]
147
+ <span class="ruby-identifier">pos</span> = <span class="ruby-identifier">match</span>.<span class="ruby-identifier">end</span>(<span class="ruby-value">0</span>)
148
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">text2</span>.<span class="ruby-identifier">empty?</span>
149
+ <span class="ruby-identifier">text2</span> = <span class="ruby-identifier">str</span>
150
+ <span class="ruby-keyword kw">else</span>
151
+ <span class="ruby-identifier">text2</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">str</span>
152
+ <span class="ruby-keyword kw">end</span>
153
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">line</span>[<span class="ruby-value">0</span>, <span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-ivar">@prefixchar</span>
154
+ <span class="ruby-identifier">text2</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">space</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">line</span>
155
+ <span class="ruby-keyword kw">else</span>
156
+ <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">text2</span>)
157
+ <span class="ruby-identifier">text2</span> = <span class="ruby-value str">''</span>
158
+ <span class="ruby-identifier">add_stmt</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">space</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">line</span>)
159
+ <span class="ruby-keyword kw">end</span>
160
+ <span class="ruby-keyword kw">end</span>
161
+ <span class="ruby-comment cmt">#rest = pos == 0 ? text : $' # ruby1.8</span>
162
+ <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">text</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">text</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>
163
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">text2</span>.<span class="ruby-identifier">empty?</span>
164
+ <span class="ruby-identifier">text2</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">rest</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">rest</span>
165
+ <span class="ruby-identifier">rest</span> = <span class="ruby-identifier">text2</span>
166
+ <span class="ruby-keyword kw">end</span>
167
+ <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">rest</span>)
168
+ <span class="ruby-keyword kw">end</span>
169
+ </pre>
170
+ </div>
171
+ </div>
172
+ </div>
173
+
174
+ <div id="method-M000004" class="method-detail">
175
+ <a name="M000004"></a>
176
+
177
+ <div class="method-heading">
178
+ <a href="#M000004" class="method-signature">
179
+ <span class="method-name">init_generator</span><span class="method-args">(properties={})</span>
180
+ </a>
181
+ </div>
182
+
183
+ <div class="method-description">
184
+ <p><a class="source-toggle" href="#"
185
+ onclick="toggleCode('M000004-source');return false;">[Source]</a></p>
186
+ <div class="method-source-code" id="M000004-source">
187
+ <pre>
188
+ <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 449</span>
189
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">init_generator</span>(<span class="ruby-identifier">properties</span>={})
190
+ <span class="ruby-keyword kw">super</span>
191
+ <span class="ruby-ivar">@prefixchar</span> = <span class="ruby-identifier">properties</span>[<span class="ruby-identifier">:prefixchar</span>]
192
+ <span class="ruby-keyword kw">end</span>
193
+ </pre>
194
+ </div>
195
+ </div>
196
+ </div>
197
+
198
+
199
+ </div>
200
+
201
+
202
+ </div>
203
+
204
+
205
+ <div id="validator-badges">
206
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
207
+ </div>
208
+
209
+ </body>
210
+ </html>
@@ -0,0 +1,120 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: Erubis::PrefixedLineEruby</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">Erubis::PrefixedLineEruby</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/erubis/engine/enhanced_rb.html">
59
+ erubis/engine/enhanced.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ <a href="Eruby.html">
69
+ Eruby
70
+ </a>
71
+ </td>
72
+ </tr>
73
+ </table>
74
+ </div>
75
+ <!-- banner header -->
76
+
77
+ <div id="bodyContent">
78
+
79
+
80
+
81
+ <div id="contextContent">
82
+
83
+
84
+
85
+ </div>
86
+
87
+
88
+ </div>
89
+
90
+
91
+ <!-- if includes -->
92
+ <div id="includes">
93
+ <h3 class="section-bar">Included Modules</h3>
94
+
95
+ <div id="includes-list">
96
+ <span class="include-name"><a href="PrefixedLineEnhancer.html">PrefixedLineEnhancer</a></span>
97
+ </div>
98
+ </div>
99
+
100
+ <div id="section">
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+ <!-- if method_list -->
110
+
111
+
112
+ </div>
113
+
114
+
115
+ <div id="validator-badges">
116
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
117
+ </div>
118
+
119
+ </body>
120
+ </html>