erubis 2.6.6 → 2.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. data/CHANGES.txt +79 -3
  2. data/MIT-LICENSE +1 -1
  3. data/README.txt +2 -2
  4. data/benchmark/bench.rb +2 -2
  5. data/bin/erubis +2 -2
  6. data/contrib/erubis +293 -155
  7. data/contrib/inline-require +2 -2
  8. data/doc-api/classes/Erubis.html +10 -1
  9. data/doc-api/classes/Erubis/ArrayBufferEnhancer.html +12 -12
  10. data/doc-api/classes/Erubis/ArrayEnhancer.html +14 -14
  11. data/doc-api/classes/Erubis/Basic/Converter.html +24 -24
  12. data/doc-api/classes/Erubis/BiPatternEnhancer.html +12 -12
  13. data/doc-api/classes/Erubis/CGenerator.html +60 -60
  14. data/doc-api/classes/Erubis/Context.html +42 -42
  15. data/doc-api/classes/Erubis/Converter.html +27 -27
  16. data/doc-api/classes/Erubis/CppGenerator.html +382 -0
  17. data/doc-api/classes/Erubis/DeleteIndentEnhancer.html +7 -7
  18. data/doc-api/classes/Erubis/Ecpp.html +126 -0
  19. data/doc-api/classes/Erubis/Engine.html +36 -36
  20. data/doc-api/classes/Erubis/ErboutEnhancer.html +14 -14
  21. data/doc-api/classes/Erubis/EscapeEnhancer.html +6 -6
  22. data/doc-api/classes/Erubis/EscapedEcpp.html +120 -0
  23. data/doc-api/classes/Erubis/Evaluator.html +19 -19
  24. data/doc-api/classes/Erubis/Generator.html +60 -60
  25. data/doc-api/classes/Erubis/HeaderFooterEnhancer.html +14 -14
  26. data/doc-api/classes/Erubis/Helpers/RailsFormHelper.html +150 -150
  27. data/doc-api/classes/Erubis/Helpers/RailsHelper.html +49 -49
  28. data/doc-api/classes/Erubis/Helpers/RailsHelper/TemplateConverter.html +24 -24
  29. data/doc-api/classes/Erubis/InterpolationEnhancer.html +38 -39
  30. data/doc-api/classes/Erubis/JavaGenerator.html +60 -60
  31. data/doc-api/classes/Erubis/JavascriptGenerator.html +66 -66
  32. data/doc-api/classes/Erubis/Main.html +22 -22
  33. data/doc-api/classes/Erubis/NoCodeEnhancer.html +30 -30
  34. data/doc-api/classes/Erubis/NoTextEnhancer.html +6 -6
  35. data/doc-api/classes/Erubis/OptimizedEruby.html +6 -6
  36. data/doc-api/classes/Erubis/OptimizedGenerator.html +72 -72
  37. data/doc-api/classes/Erubis/OptimizedXmlEruby.html +6 -6
  38. data/doc-api/classes/Erubis/PI.html +1 -0
  39. data/doc-api/classes/Erubis/PI/Converter.html +18 -18
  40. data/doc-api/classes/Erubis/PI/Ec.html +6 -6
  41. data/doc-api/classes/Erubis/PI/Ecpp.html +166 -0
  42. data/doc-api/classes/Erubis/PI/Ejava.html +6 -6
  43. data/doc-api/classes/Erubis/PI/Ejavascript.html +6 -6
  44. data/doc-api/classes/Erubis/PI/Eperl.html +6 -6
  45. data/doc-api/classes/Erubis/PI/Ephp.html +6 -6
  46. data/doc-api/classes/Erubis/PI/Eruby.html +7 -7
  47. data/doc-api/classes/Erubis/PI/Escheme.html +6 -6
  48. data/doc-api/classes/Erubis/PI/TinyEruby.html +24 -24
  49. data/doc-api/classes/Erubis/PercentLineEnhancer.html +18 -34
  50. data/doc-api/classes/Erubis/PerlGenerator.html +54 -54
  51. data/doc-api/classes/Erubis/PhpGenerator.html +54 -54
  52. data/doc-api/classes/Erubis/PrefixedLineEnhancer.html +210 -0
  53. data/doc-api/classes/Erubis/PrefixedLineEruby.html +120 -0
  54. data/doc-api/classes/Erubis/PreprocessingEruby.html +12 -12
  55. data/doc-api/classes/Erubis/PreprocessingHelper.html +22 -22
  56. data/doc-api/classes/Erubis/PrintEnabledEnhancer.html +20 -20
  57. data/doc-api/classes/Erubis/PrintOutEnhancer.html +33 -33
  58. data/doc-api/classes/Erubis/RubyEvaluator.html +18 -18
  59. data/doc-api/classes/Erubis/RubyGenerator.html +59 -58
  60. data/doc-api/classes/Erubis/SchemeGenerator.html +60 -60
  61. data/doc-api/classes/Erubis/SimplifyEnhancer.html +7 -7
  62. data/doc-api/classes/Erubis/StdoutEnhancer.html +13 -13
  63. data/doc-api/classes/Erubis/StringBufferEnhancer.html +14 -14
  64. data/doc-api/classes/Erubis/TinyEruby.html +24 -24
  65. data/doc-api/classes/Erubis/XmlHelper.html +30 -30
  66. data/doc-api/classes/Kernel.html +155 -0
  67. data/doc-api/created.rid +1 -1
  68. data/doc-api/files/README_txt.html +3 -3
  69. data/doc-api/files/erubis/context_rb.html +1 -1
  70. data/doc-api/files/erubis/converter_rb.html +3 -3
  71. data/doc-api/files/erubis/engine/ec_rb.html +1 -1
  72. data/doc-api/files/erubis/engine/ecpp_rb.html +115 -0
  73. data/doc-api/files/erubis/engine/ejava_rb.html +2 -2
  74. data/doc-api/files/erubis/engine/ejavascript_rb.html +2 -2
  75. data/doc-api/files/erubis/engine/enhanced_rb.html +2 -2
  76. data/doc-api/files/erubis/engine/eperl_rb.html +1 -1
  77. data/doc-api/files/erubis/engine/ephp_rb.html +1 -1
  78. data/doc-api/files/erubis/engine/eruby_rb.html +2 -2
  79. data/doc-api/files/erubis/engine/escheme_rb.html +1 -1
  80. data/doc-api/files/erubis/engine/optimized_rb.html +1 -1
  81. data/doc-api/files/erubis/engine_rb.html +2 -2
  82. data/doc-api/files/erubis/enhancer_rb.html +2 -2
  83. data/doc-api/files/erubis/error_rb.html +1 -1
  84. data/doc-api/files/erubis/evaluator_rb.html +1 -1
  85. data/doc-api/files/erubis/generator_rb.html +3 -3
  86. data/doc-api/files/erubis/helper_rb.html +1 -1
  87. data/doc-api/files/erubis/helpers/rails_form_helper_rb.html +1 -1
  88. data/doc-api/files/erubis/helpers/rails_helper_rb.html +1 -1
  89. data/doc-api/files/erubis/local-setting_rb.html +1 -1
  90. data/doc-api/files/erubis/main_rb.html +4 -2
  91. data/doc-api/files/erubis/preprocessing_rb.html +1 -1
  92. data/doc-api/files/erubis/tiny_rb.html +1 -1
  93. data/doc-api/files/erubis/util_rb.html +107 -0
  94. data/doc-api/files/erubis_rb.html +2 -2
  95. data/doc-api/fr_class_index.html +7 -0
  96. data/doc-api/fr_file_index.html +2 -0
  97. data/doc-api/fr_method_index.html +237 -223
  98. data/doc/docstyle.css +25 -4
  99. data/doc/users-guide.html +286 -21
  100. data/examples/basic/Makefile +7 -2
  101. data/examples/basic/example.ecpp +33 -0
  102. data/lib/erubis.rb +4 -3
  103. data/lib/erubis/context.rb +2 -2
  104. data/lib/erubis/converter.rb +3 -3
  105. data/lib/erubis/engine.rb +8 -8
  106. data/lib/erubis/engine/ec.rb +2 -2
  107. data/lib/erubis/engine/ecpp.rb +113 -0
  108. data/lib/erubis/engine/ejava.rb +9 -9
  109. data/lib/erubis/engine/ejavascript.rb +9 -9
  110. data/lib/erubis/engine/enhanced.rb +7 -2
  111. data/lib/erubis/engine/eperl.rb +2 -2
  112. data/lib/erubis/engine/ephp.rb +2 -2
  113. data/lib/erubis/engine/eruby.rb +8 -7
  114. data/lib/erubis/engine/escheme.rb +2 -2
  115. data/lib/erubis/engine/optimized.rb +2 -2
  116. data/lib/erubis/enhancer.rb +70 -27
  117. data/lib/erubis/error.rb +2 -2
  118. data/lib/erubis/evaluator.rb +2 -2
  119. data/lib/erubis/generator.rb +3 -3
  120. data/lib/erubis/helper.rb +2 -2
  121. data/lib/erubis/helpers/rails_form_helper.rb +2 -2
  122. data/lib/erubis/helpers/rails_helper.rb +2 -2
  123. data/lib/erubis/local-setting.rb +2 -2
  124. data/lib/erubis/main.rb +31 -4
  125. data/lib/erubis/preprocessing.rb +2 -2
  126. data/lib/erubis/tiny.rb +2 -2
  127. data/lib/erubis/util.rb +22 -0
  128. data/test/assert-text-equal.rb +2 -2
  129. data/test/data/users-guide/bufvar-example.rb +10 -0
  130. data/test/data/users-guide/bufvar-example.result +17 -0
  131. data/test/data/users-guide/example.ecpp +30 -0
  132. data/test/data/users-guide/example_c.result +22 -19
  133. data/test/data/users-guide/fasteruby-example.rb +8 -0
  134. data/test/data/users-guide/fasteruby-example.result +18 -0
  135. data/test/data/users-guide/percentline-example.rhtml +3 -1
  136. data/test/data/users-guide/percentline_example.result +5 -3
  137. data/test/data/users-guide/prefixedline-example.rb +9 -0
  138. data/test/data/users-guide/prefixedline-example.rhtml +6 -0
  139. data/test/data/users-guide/prefixedline_example.result +9 -0
  140. data/test/test-engines.rb +58 -2
  141. data/test/test-enhancers.rb +51 -2
  142. data/test/test-erubis.rb +14 -10
  143. data/test/test-index-cgi.rb +191 -0
  144. data/test/test-main.rb +35 -4
  145. data/test/test-users-guide.rb +18 -2
  146. data/test/test.rb +18 -2
  147. data/test/testutil.rb +22 -7
  148. metadata +30 -24
@@ -86,7 +86,7 @@
86
86
  <h3 class="section-bar">Methods</h3>
87
87
 
88
88
  <div class="name-list">
89
- <a href="#M000048">init_converter</a>&nbsp;&nbsp;
89
+ <a href="#M000050">init_converter</a>&nbsp;&nbsp;
90
90
  </div>
91
91
  </div>
92
92
 
@@ -116,21 +116,21 @@
116
116
  <div id="methods">
117
117
  <h3 class="section-bar">Public Instance methods</h3>
118
118
 
119
- <div id="method-M000048" class="method-detail">
120
- <a name="M000048"></a>
119
+ <div id="method-M000050" class="method-detail">
120
+ <a name="M000050"></a>
121
121
 
122
122
  <div class="method-heading">
123
- <a href="#M000048" class="method-signature">
123
+ <a href="#M000050" class="method-signature">
124
124
  <span class="method-name">init_converter</span><span class="method-args">(properties={})</span>
125
125
  </a>
126
126
  </div>
127
127
 
128
128
  <div class="method-description">
129
129
  <p><a class="source-toggle" href="#"
130
- onclick="toggleCode('M000048-source');return false;">[Source]</a></p>
131
- <div class="method-source-code" id="M000048-source">
130
+ onclick="toggleCode('M000050-source');return false;">[Source]</a></p>
131
+ <div class="method-source-code" id="M000050-source">
132
132
  <pre>
133
- <span class="ruby-comment cmt"># File erubis/engine/eruby.rb, line 116</span>
133
+ <span class="ruby-comment cmt"># File erubis/engine/eruby.rb, line 117</span>
134
134
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">init_converter</span>(<span class="ruby-identifier">properties</span>={})
135
135
  <span class="ruby-ivar">@pi</span> = <span class="ruby-value str">'rb'</span>
136
136
  <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">properties</span>)
@@ -98,7 +98,7 @@ end
98
98
  <h3 class="section-bar">Methods</h3>
99
99
 
100
100
  <div class="name-list">
101
- <a href="#M000057">init_converter</a>&nbsp;&nbsp;
101
+ <a href="#M000059">init_converter</a>&nbsp;&nbsp;
102
102
  </div>
103
103
  </div>
104
104
 
@@ -127,19 +127,19 @@ end
127
127
  <div id="methods">
128
128
  <h3 class="section-bar">Public Instance methods</h3>
129
129
 
130
- <div id="method-M000057" class="method-detail">
131
- <a name="M000057"></a>
130
+ <div id="method-M000059" class="method-detail">
131
+ <a name="M000059"></a>
132
132
 
133
133
  <div class="method-heading">
134
- <a href="#M000057" class="method-signature">
134
+ <a href="#M000059" class="method-signature">
135
135
  <span class="method-name">init_converter</span><span class="method-args">(properties={})</span>
136
136
  </a>
137
137
  </div>
138
138
 
139
139
  <div class="method-description">
140
140
  <p><a class="source-toggle" href="#"
141
- onclick="toggleCode('M000057-source');return false;">[Source]</a></p>
142
- <div class="method-source-code" id="M000057-source">
141
+ onclick="toggleCode('M000059-source');return false;">[Source]</a></p>
142
+ <div class="method-source-code" id="M000059-source">
143
143
  <pre>
144
144
  <span class="ruby-comment cmt"># File erubis/engine/escheme.rb, line 106</span>
145
145
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">init_converter</span>(<span class="ruby-identifier">properties</span>={})
@@ -86,10 +86,10 @@
86
86
  <h3 class="section-bar">Methods</h3>
87
87
 
88
88
  <div class="name-list">
89
- <a href="#M000051">convert</a>&nbsp;&nbsp;
90
- <a href="#M000053">evaluate</a>&nbsp;&nbsp;
91
- <a href="#M000050">new</a>&nbsp;&nbsp;
92
- <a href="#M000052">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,19 +137,19 @@
137
137
  <div id="methods">
138
138
  <h3 class="section-bar">Public Class methods</h3>
139
139
 
140
- <div id="method-M000050" class="method-detail">
141
- <a name="M000050"></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="#M000050" 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('M000050-source');return false;">[Source]</a></p>
152
- <div class="method-source-code" id="M000050-source">
151
+ onclick="toggleCode('M000052-source');return false;">[Source]</a></p>
152
+ <div class="method-source-code" id="M000052-source">
153
153
  <pre>
154
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>={})
@@ -163,19 +163,19 @@
163
163
 
164
164
  <h3 class="section-bar">Public Instance methods</h3>
165
165
 
166
- <div id="method-M000051" class="method-detail">
167
- <a name="M000051"></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="#M000051" 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('M000051-source');return false;">[Source]</a></p>
178
- <div class="method-source-code" id="M000051-source">
177
+ onclick="toggleCode('M000053-source');return false;">[Source]</a></p>
178
+ <div class="method-source-code" id="M000053-source">
179
179
  <pre>
180
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>)
@@ -218,19 +218,19 @@
218
218
  </div>
219
219
  </div>
220
220
 
221
- <div id="method-M000053" class="method-detail">
222
- <a name="M000053"></a>
221
+ <div id="method-M000055" class="method-detail">
222
+ <a name="M000055"></a>
223
223
 
224
224
  <div class="method-heading">
225
- <a href="#M000053" class="method-signature">
225
+ <a href="#M000055" class="method-signature">
226
226
  <span class="method-name">evaluate</span><span class="method-args">(_context=Object.new)</span>
227
227
  </a>
228
228
  </div>
229
229
 
230
230
  <div class="method-description">
231
231
  <p><a class="source-toggle" href="#"
232
- onclick="toggleCode('M000053-source');return false;">[Source]</a></p>
233
- <div class="method-source-code" id="M000053-source">
232
+ onclick="toggleCode('M000055-source');return false;">[Source]</a></p>
233
+ <div class="method-source-code" id="M000055-source">
234
234
  <pre>
235
235
  <span class="ruby-comment cmt"># File erubis/tiny.rb, line 132</span>
236
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>)
@@ -246,11 +246,11 @@
246
246
  </div>
247
247
  </div>
248
248
 
249
- <div id="method-M000052" class="method-detail">
250
- <a name="M000052"></a>
249
+ <div id="method-M000054" class="method-detail">
250
+ <a name="M000054"></a>
251
251
 
252
252
  <div class="method-heading">
253
- <a href="#M000052" class="method-signature">
253
+ <a href="#M000054" class="method-signature">
254
254
  <span class="method-name">result</span><span class="method-args">(_binding=TOPLEVEL_BINDING)</span>
255
255
  </a>
256
256
  </div>
@@ -266,8 +266,8 @@ def escape_text(text)
266
266
  end
267
267
  </p>
268
268
  <p><a class="source-toggle" href="#"
269
- onclick="toggleCode('M000052-source');return false;">[Source]</a></p>
270
- <div class="method-source-code" id="M000052-source">
269
+ onclick="toggleCode('M000054-source');return false;">[Source]</a></p>
270
+ <div class="method-source-code" id="M000054-source">
271
271
  <pre>
272
272
  <span class="ruby-comment cmt"># File erubis/tiny.rb, line 128</span>
273
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>)
@@ -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="#M000173">add_text</a>&nbsp;&nbsp;
95
+ <a href="#M000176">add_text</a>&nbsp;&nbsp;
96
96
  </div>
97
97
  </div>
98
98
 
@@ -100,6 +100,13 @@ this is language-independent.
100
100
 
101
101
 
102
102
  <!-- if includes -->
103
+ <div id="includes">
104
+ <h3 class="section-bar">Included Modules</h3>
105
+
106
+ <div id="includes-list">
107
+ <span class="include-name"><a href="PrefixedLineEnhancer.html">PrefixedLineEnhancer</a></span>
108
+ </div>
109
+ </div>
103
110
 
104
111
  <div id="section">
105
112
 
@@ -114,50 +121,27 @@ this is language-independent.
114
121
  <div id="methods">
115
122
  <h3 class="section-bar">Public Instance methods</h3>
116
123
 
117
- <div id="method-M000173" class="method-detail">
118
- <a name="M000173"></a>
124
+ <div id="method-M000176" class="method-detail">
125
+ <a name="M000176"></a>
119
126
 
120
127
  <div class="method-heading">
121
- <a href="#M000173" class="method-signature">
128
+ <a href="#M000176" class="method-signature">
122
129
  <span class="method-name">add_text</span><span class="method-args">(src, text)</span>
123
130
  </a>
124
131
  </div>
125
132
 
126
133
  <div class="method-description">
127
134
  <p><a class="source-toggle" href="#"
128
- onclick="toggleCode('M000173-source');return false;">[Source]</a></p>
129
- <div class="method-source-code" id="M000173-source">
135
+ onclick="toggleCode('M000176-source');return false;">[Source]</a></p>
136
+ <div class="method-source-code" id="M000176-source">
130
137
  <pre>
131
- <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 449</span>
138
+ <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 516</span>
132
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>)
133
- <span class="ruby-identifier">pos</span> = <span class="ruby-value">0</span>
134
- <span class="ruby-identifier">text2</span> = <span class="ruby-value str">''</span>
135
- <span class="ruby-identifier">text</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/^\%(.*?\r?\n)/</span>) <span class="ruby-keyword kw">do</span>
136
- <span class="ruby-identifier">line</span> = <span class="ruby-identifier">$1</span>
137
- <span class="ruby-identifier">match</span> = <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">last_match</span>
138
- <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>
139
- <span class="ruby-identifier">str</span> = <span class="ruby-identifier">text</span>[<span class="ruby-identifier">pos</span>, <span class="ruby-identifier">len</span>]
140
- <span class="ruby-identifier">pos</span> = <span class="ruby-identifier">match</span>.<span class="ruby-identifier">end</span>(<span class="ruby-value">0</span>)
141
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">text2</span>.<span class="ruby-identifier">empty?</span>
142
- <span class="ruby-identifier">text2</span> = <span class="ruby-identifier">str</span>
143
- <span class="ruby-keyword kw">else</span>
144
- <span class="ruby-identifier">text2</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">str</span>
145
- <span class="ruby-keyword kw">end</span>
146
- <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>
147
- <span class="ruby-identifier">text2</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">line</span>
148
- <span class="ruby-keyword kw">else</span>
149
- <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">text2</span>)
150
- <span class="ruby-identifier">text2</span> = <span class="ruby-value str">''</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>
153
- <span class="ruby-keyword kw">end</span>
154
- <span class="ruby-comment cmt">#rest = pos == 0 ? text : $' # ruby1.8</span>
155
- <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>
156
- <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">text2</span>.<span class="ruby-identifier">empty?</span>
157
- <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>
158
- <span class="ruby-identifier">rest</span> = <span class="ruby-identifier">text2</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>
159
143
  <span class="ruby-keyword kw">end</span>
160
- <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>)
161
145
  <span class="ruby-keyword kw">end</span>
162
146
  </pre>
163
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="#M000160">add_expr_debug</a>&nbsp;&nbsp;
84
- <a href="#M000159">add_expr_escaped</a>&nbsp;&nbsp;
85
- <a href="#M000158">add_expr_literal</a>&nbsp;&nbsp;
86
- <a href="#M000162">add_postamble</a>&nbsp;&nbsp;
87
- <a href="#M000155">add_preamble</a>&nbsp;&nbsp;
88
- <a href="#M000161">add_stmt</a>&nbsp;&nbsp;
89
- <a href="#M000157">add_text</a>&nbsp;&nbsp;
90
- <a href="#M000156">escape_text</a>&nbsp;&nbsp;
91
- <a href="#M000154">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,19 +117,19 @@
117
117
  <div id="methods">
118
118
  <h3 class="section-bar">Public Instance methods</h3>
119
119
 
120
- <div id="method-M000160" class="method-detail">
121
- <a name="M000160"></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="#M000160" 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('M000160-source');return false;">[Source]</a></p>
132
- <div class="method-source-code" id="M000160-source">
131
+ onclick="toggleCode('M000163-source');return false;">[Source]</a></p>
132
+ <div class="method-source-code" id="M000163-source">
133
133
  <pre>
134
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>)
@@ -142,19 +142,19 @@
142
142
  </div>
143
143
  </div>
144
144
 
145
- <div id="method-M000159" class="method-detail">
146
- <a name="M000159"></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="#M000159" 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('M000159-source');return false;">[Source]</a></p>
157
- <div class="method-source-code" id="M000159-source">
156
+ onclick="toggleCode('M000162-source');return false;">[Source]</a></p>
157
+ <div class="method-source-code" id="M000162-source">
158
158
  <pre>
159
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>)
@@ -165,19 +165,19 @@
165
165
  </div>
166
166
  </div>
167
167
 
168
- <div id="method-M000158" class="method-detail">
169
- <a name="M000158"></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="#M000158" 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('M000158-source');return false;">[Source]</a></p>
180
- <div class="method-source-code" id="M000158-source">
179
+ onclick="toggleCode('M000161-source');return false;">[Source]</a></p>
180
+ <div class="method-source-code" id="M000161-source">
181
181
  <pre>
182
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>)
@@ -189,19 +189,19 @@
189
189
  </div>
190
190
  </div>
191
191
 
192
- <div id="method-M000162" class="method-detail">
193
- <a name="M000162"></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="#M000162" 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('M000162-source');return false;">[Source]</a></p>
204
- <div class="method-source-code" id="M000162-source">
203
+ onclick="toggleCode('M000165-source');return false;">[Source]</a></p>
204
+ <div class="method-source-code" id="M000165-source">
205
205
  <pre>
206
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>)
@@ -212,19 +212,19 @@
212
212
  </div>
213
213
  </div>
214
214
 
215
- <div id="method-M000155" class="method-detail">
216
- <a name="M000155"></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="#M000155" 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('M000155-source');return false;">[Source]</a></p>
227
- <div class="method-source-code" id="M000155-source">
226
+ onclick="toggleCode('M000158-source');return false;">[Source]</a></p>
227
+ <div class="method-source-code" id="M000158-source">
228
228
  <pre>
229
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>)
@@ -235,19 +235,19 @@
235
235
  </div>
236
236
  </div>
237
237
 
238
- <div id="method-M000161" class="method-detail">
239
- <a name="M000161"></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="#M000161" 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('M000161-source');return false;">[Source]</a></p>
250
- <div class="method-source-code" id="M000161-source">
249
+ onclick="toggleCode('M000164-source');return false;">[Source]</a></p>
250
+ <div class="method-source-code" id="M000164-source">
251
251
  <pre>
252
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>)
@@ -258,19 +258,19 @@
258
258
  </div>
259
259
  </div>
260
260
 
261
- <div id="method-M000157" class="method-detail">
262
- <a name="M000157"></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="#M000157" 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('M000157-source');return false;">[Source]</a></p>
273
- <div class="method-source-code" id="M000157-source">
272
+ onclick="toggleCode('M000160-source');return false;">[Source]</a></p>
273
+ <div class="method-source-code" id="M000160-source">
274
274
  <pre>
275
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>)
@@ -281,19 +281,19 @@
281
281
  </div>
282
282
  </div>
283
283
 
284
- <div id="method-M000156" class="method-detail">
285
- <a name="M000156"></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="#M000156" 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('M000156-source');return false;">[Source]</a></p>
296
- <div class="method-source-code" id="M000156-source">
295
+ onclick="toggleCode('M000159-source');return false;">[Source]</a></p>
296
+ <div class="method-source-code" id="M000159-source">
297
297
  <pre>
298
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>)
@@ -304,19 +304,19 @@
304
304
  </div>
305
305
  </div>
306
306
 
307
- <div id="method-M000154" class="method-detail">
308
- <a name="M000154"></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="#M000154" 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('M000154-source');return false;">[Source]</a></p>
319
- <div class="method-source-code" id="M000154-source">
318
+ onclick="toggleCode('M000157-source');return false;">[Source]</a></p>
319
+ <div class="method-source-code" id="M000157-source">
320
320
  <pre>
321
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>={})