erubis 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. data/CHANGES +120 -3
  2. data/README.txt +1 -1
  3. data/benchmark/Makefile +6 -0
  4. data/benchmark/bench.rb +306 -0
  5. data/benchmark/{erubybench.yaml → bench_context.yaml} +20 -20
  6. data/benchmark/templates/_footer.html +4 -0
  7. data/benchmark/{erubybench.rhtml → templates/_header.html} +1 -34
  8. data/benchmark/templates/bench_erb.rhtml +29 -0
  9. data/benchmark/templates/bench_erubis.rhtml +29 -0
  10. data/benchmark/templates/bench_eruby.rhtml +29 -0
  11. data/bin/erubis +2 -2
  12. data/contrib/erubis +3 -3114
  13. data/contrib/erubis-run.rb +132 -0
  14. data/contrib/inline-require +1 -1
  15. data/doc-api/classes/{ERB.html → ActionView/Base/ERB.html} +3 -3
  16. data/doc-api/classes/Erubis.html +8 -1
  17. data/doc-api/classes/Erubis/ArrayEnhancer.html +12 -12
  18. data/doc-api/classes/Erubis/Basic/Converter.html +24 -24
  19. data/doc-api/classes/Erubis/BiPatternEnhancer.html +14 -14
  20. data/doc-api/classes/Erubis/CGenerator.html +60 -60
  21. data/doc-api/classes/Erubis/Context.html +42 -42
  22. data/doc-api/classes/Erubis/Converter.html +27 -27
  23. data/doc-api/classes/Erubis/DeleteIndentEnhancer.html +150 -0
  24. data/doc-api/classes/Erubis/DeleteIndentEruby.html +120 -0
  25. data/doc-api/classes/Erubis/Engine.html +31 -31
  26. data/doc-api/classes/Erubis/ErboutEnhancer.html +175 -0
  27. data/doc-api/classes/Erubis/ErboutEruby.html +120 -0
  28. data/doc-api/classes/Erubis/Eruby.html +5 -0
  29. data/doc-api/classes/Erubis/EscapeEnhancer.html +6 -6
  30. data/doc-api/classes/Erubis/Evaluator.html +19 -19
  31. data/doc-api/classes/Erubis/FastEruby.html +131 -0
  32. data/doc-api/classes/Erubis/HeaderFooterEnhancer.html +14 -14
  33. data/doc-api/classes/Erubis/Helpers/RailsHelper.html +49 -45
  34. data/doc-api/classes/Erubis/InterpolationEnhancer.html +304 -0
  35. data/doc-api/classes/Erubis/InterpolationEruby.html +120 -0
  36. data/doc-api/classes/Erubis/JavaGenerator.html +54 -54
  37. data/doc-api/classes/Erubis/JavascriptGenerator.html +60 -60
  38. data/doc-api/classes/Erubis/Main.html +35 -27
  39. data/doc-api/classes/Erubis/NoCodeEnhancer.html +5 -5
  40. data/doc-api/classes/Erubis/NoTextEnhancer.html +7 -7
  41. data/doc-api/classes/Erubis/OptimizedEruby.html +6 -6
  42. data/doc-api/classes/Erubis/OptimizedGenerator.html +72 -72
  43. data/doc-api/classes/Erubis/OptimizedXmlEruby.html +6 -6
  44. data/doc-api/classes/Erubis/PI/Converter.html +18 -18
  45. data/doc-api/classes/Erubis/PI/Ec.html +6 -6
  46. data/doc-api/classes/Erubis/PI/Ejava.html +6 -6
  47. data/doc-api/classes/Erubis/PI/Ejavascript.html +6 -6
  48. data/doc-api/classes/Erubis/PI/Eperl.html +6 -6
  49. data/doc-api/classes/Erubis/PI/Ephp.html +6 -6
  50. data/doc-api/classes/Erubis/PI/Eruby.html +7 -7
  51. data/doc-api/classes/Erubis/PI/Escheme.html +6 -6
  52. data/doc-api/classes/Erubis/PI/TinyEruby.html +24 -24
  53. data/doc-api/classes/Erubis/PercentLineEnhancer.html +8 -8
  54. data/doc-api/classes/Erubis/PerlGenerator.html +54 -54
  55. data/doc-api/classes/Erubis/PhpGenerator.html +54 -54
  56. data/doc-api/classes/Erubis/PrintEnabledEnhancer.html +20 -20
  57. data/doc-api/classes/Erubis/PrintOutEnhancer.html +30 -30
  58. data/doc-api/classes/Erubis/RubyEvaluator.html +12 -12
  59. data/doc-api/classes/Erubis/RubyGenerator.html +48 -48
  60. data/doc-api/classes/Erubis/SchemeGenerator.html +60 -60
  61. data/doc-api/classes/Erubis/SimplifyEnhancer.html +8 -8
  62. data/doc-api/classes/Erubis/StdoutEnhancer.html +12 -12
  63. data/doc-api/classes/Erubis/StringBufferEnhancer.html +12 -12
  64. data/doc-api/classes/Erubis/TinyEruby.html +24 -24
  65. data/doc-api/classes/Erubis/XmlHelper.html +14 -14
  66. data/doc-api/created.rid +1 -1
  67. data/doc-api/files/README_txt.html +4 -4
  68. data/doc-api/files/erubis/context_rb.html +2 -2
  69. data/doc-api/files/erubis/converter_rb.html +2 -2
  70. data/doc-api/files/erubis/engine/ec_rb.html +2 -2
  71. data/doc-api/files/erubis/engine/ejava_rb.html +2 -2
  72. data/doc-api/files/erubis/engine/ejavascript_rb.html +2 -2
  73. data/doc-api/files/erubis/engine/enhanced_rb.html +2 -2
  74. data/doc-api/files/erubis/engine/eperl_rb.html +2 -2
  75. data/doc-api/files/erubis/engine/ephp_rb.html +2 -2
  76. data/doc-api/files/erubis/engine/eruby_rb.html +2 -2
  77. data/doc-api/files/erubis/engine/escheme_rb.html +2 -2
  78. data/doc-api/files/erubis/engine/optimized_rb.html +2 -2
  79. data/doc-api/files/erubis/engine_rb.html +2 -2
  80. data/doc-api/files/erubis/enhancer_rb.html +2 -2
  81. data/doc-api/files/erubis/error_rb.html +2 -2
  82. data/doc-api/files/erubis/evaluator_rb.html +2 -2
  83. data/doc-api/files/erubis/generator_rb.html +2 -2
  84. data/doc-api/files/erubis/helper_rb.html +2 -2
  85. data/doc-api/files/erubis/helpers/rails_helper_rb.html +2 -2
  86. data/doc-api/files/erubis/local-setting_rb.html +2 -2
  87. data/doc-api/files/erubis/main_rb.html +2 -2
  88. data/doc-api/files/erubis/tiny_rb.html +2 -2
  89. data/doc-api/files/erubis_rb.html +1 -1
  90. data/doc-api/fr_class_index.html +8 -1
  91. data/doc-api/fr_method_index.html +166 -158
  92. data/doc/users-guide.html +623 -215
  93. data/lib/erubis.rb +2 -2
  94. data/lib/erubis/context.rb +2 -2
  95. data/lib/erubis/converter.rb +2 -2
  96. data/lib/erubis/engine.rb +3 -3
  97. data/lib/erubis/engine/ec.rb +2 -2
  98. data/lib/erubis/engine/ejava.rb +2 -2
  99. data/lib/erubis/engine/ejavascript.rb +2 -2
  100. data/lib/erubis/engine/enhanced.rb +17 -2
  101. data/lib/erubis/engine/eperl.rb +2 -2
  102. data/lib/erubis/engine/ephp.rb +2 -2
  103. data/lib/erubis/engine/eruby.rb +10 -2
  104. data/lib/erubis/engine/escheme.rb +2 -2
  105. data/lib/erubis/engine/optimized.rb +2 -2
  106. data/lib/erubis/enhancer.rb +134 -25
  107. data/lib/erubis/error.rb +2 -2
  108. data/lib/erubis/evaluator.rb +2 -2
  109. data/lib/erubis/generator.rb +2 -2
  110. data/lib/erubis/helper.rb +2 -2
  111. data/lib/erubis/helpers/rails_helper.rb +19 -75
  112. data/lib/erubis/local-setting.rb +2 -2
  113. data/lib/erubis/main.rb +63 -36
  114. data/lib/erubis/tiny.rb +2 -2
  115. data/test/assert-text-equal.rb +2 -2
  116. data/test/data/users-guide/Example.ejava +55 -0
  117. data/test/data/users-guide/array_example.result +9 -0
  118. data/test/data/users-guide/arraybuffer_example.result +9 -0
  119. data/test/data/users-guide/bipattern-example.rhtml +4 -0
  120. data/test/data/users-guide/bipattern_example.result +6 -0
  121. data/test/data/users-guide/context.rb +6 -0
  122. data/test/data/users-guide/context.yaml +8 -0
  123. data/test/data/users-guide/escape_example.result +9 -0
  124. data/test/data/users-guide/example.ec +27 -0
  125. data/test/data/users-guide/example.ejs +20 -0
  126. data/test/data/users-guide/example.eperl +18 -0
  127. data/test/data/users-guide/example.ephp +18 -0
  128. data/test/data/users-guide/example.eruby +6 -0
  129. data/test/data/users-guide/example.escheme +28 -0
  130. data/test/data/users-guide/example1.eruby +6 -0
  131. data/test/data/users-guide/example1.rb +16 -0
  132. data/test/data/users-guide/example1.result +16 -0
  133. data/test/data/users-guide/example10.rb +4 -0
  134. data/test/data/users-guide/example10.result +17 -0
  135. data/test/data/users-guide/example10.xhtml +14 -0
  136. data/test/data/users-guide/example10_x.result +17 -0
  137. data/test/data/users-guide/example11.php +20 -0
  138. data/test/data/users-guide/example11.result +23 -0
  139. data/test/data/users-guide/example11.rhtml +21 -0
  140. data/test/data/users-guide/example11_C.result +10 -0
  141. data/test/data/users-guide/example11_N.result +16 -0
  142. data/test/data/users-guide/example11_U.result +16 -0
  143. data/test/data/users-guide/example11_php.result +15 -0
  144. data/test/data/users-guide/example1_x.result +9 -0
  145. data/test/data/users-guide/example2.eruby +7 -0
  146. data/test/data/users-guide/example2.rb +10 -0
  147. data/test/data/users-guide/example2.result +27 -0
  148. data/test/data/users-guide/example2_trim.result +10 -0
  149. data/test/data/users-guide/example2_x.result +10 -0
  150. data/test/data/users-guide/example3.eruby +6 -0
  151. data/test/data/users-guide/example3.rb +10 -0
  152. data/test/data/users-guide/example31.result +22 -0
  153. data/test/data/users-guide/example32.result +4 -0
  154. data/test/data/users-guide/example3_e.result +8 -0
  155. data/test/data/users-guide/example4.eruby +3 -0
  156. data/test/data/users-guide/example4.rb +11 -0
  157. data/test/data/users-guide/example4.result +10 -0
  158. data/test/data/users-guide/example4_x.result +5 -0
  159. data/test/data/users-guide/example5.eruby +6 -0
  160. data/test/data/users-guide/example5.rb +16 -0
  161. data/test/data/users-guide/example5.result +7 -0
  162. data/test/data/users-guide/example6.rb +12 -0
  163. data/test/data/users-guide/example6.result +7 -0
  164. data/test/data/users-guide/example7.eruby +8 -0
  165. data/test/data/users-guide/example71.result +13 -0
  166. data/test/data/users-guide/example72.result +13 -0
  167. data/test/data/users-guide/example8.eruby +6 -0
  168. data/test/data/users-guide/example8_ruby.result +7 -0
  169. data/test/data/users-guide/example8_yaml.result +7 -0
  170. data/test/data/users-guide/example9.eruby +3 -0
  171. data/test/data/users-guide/example9.rb +8 -0
  172. data/test/data/users-guide/example9.result +9 -0
  173. data/test/data/users-guide/example91.result +5 -0
  174. data/test/data/users-guide/example92.result +4 -0
  175. data/test/data/users-guide/example_c.result +29 -0
  176. data/test/data/users-guide/example_java.result +56 -0
  177. data/test/data/users-guide/example_js.result +22 -0
  178. data/test/data/users-guide/example_perl.result +20 -0
  179. data/test/data/users-guide/example_php.result +19 -0
  180. data/test/data/users-guide/example_scheme.result +30 -0
  181. data/test/data/users-guide/example_scheme_display.result +29 -0
  182. data/test/data/users-guide/fasteruby.rb +11 -0
  183. data/test/data/users-guide/fasteruby.result +38 -0
  184. data/test/data/users-guide/fasteruby.rhtml +15 -0
  185. data/test/data/users-guide/headerfooter-example.eruby +9 -0
  186. data/test/data/users-guide/headerfooter-example2.rb +8 -0
  187. data/test/data/users-guide/headerfooter-example2.rhtml +10 -0
  188. data/test/data/users-guide/headerfooter_example.result +11 -0
  189. data/test/data/users-guide/headerfooter_example2.result +13 -0
  190. data/test/data/users-guide/interpolation_example.result +9 -0
  191. data/test/data/users-guide/nocode-example.eruby +14 -0
  192. data/test/data/users-guide/nocode-php.result +20 -0
  193. data/test/data/users-guide/nocode_example.result +15 -0
  194. data/test/data/users-guide/normal-eruby-test.eruby +9 -0
  195. data/test/data/users-guide/normal_eruby_test.result +11 -0
  196. data/test/data/users-guide/notext-example.eruby +14 -0
  197. data/test/data/users-guide/notext-example.php +19 -0
  198. data/test/data/users-guide/notext-php.result +20 -0
  199. data/test/data/users-guide/notext_example.result +16 -0
  200. data/test/data/users-guide/percentline-example.rhtml +4 -0
  201. data/test/data/users-guide/percentline_example.result +7 -0
  202. data/test/data/users-guide/printenable_example.result +4 -0
  203. data/test/data/users-guide/printenabled-example.eruby +3 -0
  204. data/test/data/users-guide/printenabled-example.rb +8 -0
  205. data/test/data/users-guide/printstatement_example.result +8 -0
  206. data/test/data/users-guide/simplify_example.result +9 -0
  207. data/test/data/users-guide/stdout_exmple.result +9 -0
  208. data/test/data/users-guide/stringbuffer_example.result +9 -0
  209. data/test/test-engines.rb +2 -2
  210. data/test/test-enhancers.rb +569 -0
  211. data/test/test-erubis.rb +3 -380
  212. data/test/test-main.rb +39 -15
  213. data/test/test-users-guide.rb +56 -0
  214. data/test/test.rb +4 -3
  215. data/test/testutil.rb +2 -2
  216. metadata +166 -57
  217. data/benchmark/erubybench-lib.rb +0 -189
  218. data/benchmark/erubybench.rb +0 -600
  219. data/bin/notext +0 -154
  220. data/test/test-notext.rb +0 -27
@@ -0,0 +1,132 @@
1
+ =begin
2
+
3
+ = apache/erubis-run.rb
4
+
5
+ Copyright (C) 2007 Andrew R Jackson <arjackson at acm dot org>
6
+
7
+ Built from original by Shugo Maeda:
8
+ Copyright (C) 2001 Shugo Maeda <shugo@modruby.net>
9
+
10
+ All rights reserved.
11
+
12
+ Redistribution and use in source and binary forms, with or without
13
+ modification, are permitted provided that the following conditions
14
+ are met:
15
+ 1. Redistributions of source code must retain the above copyright
16
+ notice, this list of conditions and the following disclaimer.
17
+ 2. Redistributions in binary form must reproduce the above copyright
18
+ notice, this list of conditions and the following disclaimer in the
19
+ documentation and/or other materials provided with the distribution.
20
+
21
+ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22
+ ANY EXPRESS OR IMPLIED WAreqANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
+ IMPLIED WAreqANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24
+ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTEreqUPTION)
28
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31
+ SUCH DAMAGE.
32
+
33
+ == Overview
34
+
35
+ Apache::ErubisRun handles eRuby files with erubis
36
+
37
+ == Example of httpd.conf
38
+
39
+ RubyRequire apache/erubis-run
40
+ <Location /eruby>
41
+ SetHandler ruby-object
42
+ RubyHandler Apache::ErubisRun.instance
43
+ </Location>
44
+
45
+ =end
46
+
47
+ require "singleton"
48
+ require "tempfile"
49
+ require "eruby" # Still needed to bring in a couple useful helper methods
50
+ require "erubis"
51
+
52
+ module Erubis
53
+ @@cgi = nil
54
+
55
+ def self.cgi
56
+ return @@cgi
57
+ end
58
+
59
+ def self.cgi=(cgi)
60
+ @@cgi = cgi
61
+ end
62
+ end
63
+
64
+ module Apache
65
+ class ErubisRun
66
+ include Singleton
67
+
68
+ def handler(req)
69
+ status = check_request(req)
70
+ return status if(status != OK)
71
+
72
+ filename = req.filename.dup
73
+ filename.untaint
74
+ erubis = compile(filename)
75
+ prerun(req)
76
+ begin
77
+ run(erubis, filename)
78
+ ensure
79
+ postrun(req)
80
+ end
81
+
82
+ return OK
83
+ end
84
+
85
+ private
86
+
87
+ def initialize
88
+ @compiler = nil
89
+ end
90
+
91
+ def check_request(req)
92
+ if(req.method_number == M_OPTIONS)
93
+ req.allowed |= (1 << M_GET)
94
+ req.allowed |= (1 << M_POST)
95
+ return DECLINED
96
+ end
97
+ if(req.finfo.mode == 0)
98
+ return NOT_FOUND
99
+ end
100
+ return OK
101
+ end
102
+
103
+ def compile(filename)
104
+ @compiler = Erubis::Eruby.load_file(filename) # use caching version as much as possible
105
+ return @compiler
106
+ end
107
+
108
+ def prerun(req)
109
+ Erubis.cgi = nil
110
+ req.setup_cgi_env
111
+ Apache.chdir_file(req.filename)
112
+ end
113
+
114
+ def run(erubis, filename)
115
+ binding = eval_string_wrap("binding")
116
+ puts erubis.result(binding) # eval the code in the context of the same binding ERuby uses
117
+ end
118
+
119
+ def postrun(req)
120
+ if(cgi = Erubis.cgi)
121
+ # TODO: pull the content type header from the cgi object, if set there?
122
+ elsif(req.sync_output or req.sync_header)
123
+ # Do nothing: header has already been sent
124
+ else
125
+ unless(req.content_type)
126
+ req.content_type = format("text/html;")
127
+ end
128
+ req.send_http_header
129
+ end
130
+ end
131
+ end
132
+ end
@@ -6,7 +6,7 @@
6
6
  ### usage: inline-require [-h] [-I path[,path2,..]] script
7
7
  ###
8
8
  ### copyright(c) 2006-2007 kuwata-lab all rights reserved.
9
- ### $Release: 2.2.0 $
9
+ ### 2.3.0
10
10
  ### $Rev: 2 $
11
11
  ###
12
12
 
@@ -5,10 +5,10 @@
5
5
 
6
6
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
7
  <head>
8
- <title>Module: ERB</title>
8
+ <title>Module: ActionView::Base::ERB</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
11
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
12
12
  <script type="text/javascript">
13
13
  // <![CDATA[
14
14
 
@@ -50,7 +50,7 @@
50
50
  <table class="header-table">
51
51
  <tr class="top-aligned-row">
52
52
  <td><strong>Module</strong></td>
53
- <td class="class-name-in-header">ERB</td>
53
+ <td class="class-name-in-header">ActionView::Base::ERB</td>
54
54
  </tr>
55
55
  <tr class="top-aligned-row">
56
56
  <td><strong>In:</strong></td>
@@ -223,11 +223,14 @@ Module <a href="Erubis/Basic.html" class="link">Erubis::Basic</a><br />
223
223
  Module <a href="Erubis/BiPatternEnhancer.html" class="link">Erubis::BiPatternEnhancer</a><br />
224
224
  Module <a href="Erubis/CGenerator.html" class="link">Erubis::CGenerator</a><br />
225
225
  Module <a href="Erubis/Converter.html" class="link">Erubis::Converter</a><br />
226
+ Module <a href="Erubis/DeleteIndentEnhancer.html" class="link">Erubis::DeleteIndentEnhancer</a><br />
227
+ Module <a href="Erubis/ErboutEnhancer.html" class="link">Erubis::ErboutEnhancer</a><br />
226
228
  Module <a href="Erubis/EscapeEnhancer.html" class="link">Erubis::EscapeEnhancer</a><br />
227
229
  Module <a href="Erubis/Evaluator.html" class="link">Erubis::Evaluator</a><br />
228
230
  Module <a href="Erubis/Generator.html" class="link">Erubis::Generator</a><br />
229
231
  Module <a href="Erubis/HeaderFooterEnhancer.html" class="link">Erubis::HeaderFooterEnhancer</a><br />
230
232
  Module <a href="Erubis/Helpers.html" class="link">Erubis::Helpers</a><br />
233
+ Module <a href="Erubis/InterpolationEnhancer.html" class="link">Erubis::InterpolationEnhancer</a><br />
231
234
  Module <a href="Erubis/JavaGenerator.html" class="link">Erubis::JavaGenerator</a><br />
232
235
  Module <a href="Erubis/JavascriptGenerator.html" class="link">Erubis::JavascriptGenerator</a><br />
233
236
  Module <a href="Erubis/NoCodeEnhancer.html" class="link">Erubis::NoCodeEnhancer</a><br />
@@ -251,12 +254,14 @@ Class <a href="Erubis/ArrayEruby.html" class="link">Erubis::ArrayEruby</a><br />
251
254
  Class <a href="Erubis/BiPatternEruby.html" class="link">Erubis::BiPatternEruby</a><br />
252
255
  Class <a href="Erubis/CommandOptionError.html" class="link">Erubis::CommandOptionError</a><br />
253
256
  Class <a href="Erubis/Context.html" class="link">Erubis::Context</a><br />
257
+ Class <a href="Erubis/DeleteIndentEruby.html" class="link">Erubis::DeleteIndentEruby</a><br />
254
258
  Class <a href="Erubis/Ec.html" class="link">Erubis::Ec</a><br />
255
259
  Class <a href="Erubis/Ejava.html" class="link">Erubis::Ejava</a><br />
256
260
  Class <a href="Erubis/Ejavascript.html" class="link">Erubis::Ejavascript</a><br />
257
261
  Class <a href="Erubis/Engine.html" class="link">Erubis::Engine</a><br />
258
262
  Class <a href="Erubis/Eperl.html" class="link">Erubis::Eperl</a><br />
259
263
  Class <a href="Erubis/Ephp.html" class="link">Erubis::Ephp</a><br />
264
+ Class <a href="Erubis/ErboutEruby.html" class="link">Erubis::ErboutEruby</a><br />
260
265
  Class <a href="Erubis/ErubisError.html" class="link">Erubis::ErubisError</a><br />
261
266
  Class <a href="Erubis/Eruby.html" class="link">Erubis::Eruby</a><br />
262
267
  Class <a href="Erubis/EscapedEc.html" class="link">Erubis::EscapedEc</a><br />
@@ -267,7 +272,9 @@ Class <a href="Erubis/EscapedEphp.html" class="link">Erubis::EscapedEphp</a><br
267
272
  Class <a href="Erubis/EscapedEruby.html" class="link">Erubis::EscapedEruby</a><br />
268
273
  Class <a href="Erubis/EscapedEscheme.html" class="link">Erubis::EscapedEscheme</a><br />
269
274
  Class <a href="Erubis/Escheme.html" class="link">Erubis::Escheme</a><br />
275
+ Class <a href="Erubis/FastEruby.html" class="link">Erubis::FastEruby</a><br />
270
276
  Class <a href="Erubis/HeaderFooterEruby.html" class="link">Erubis::HeaderFooterEruby</a><br />
277
+ Class <a href="Erubis/InterpolationEruby.html" class="link">Erubis::InterpolationEruby</a><br />
271
278
  Class <a href="Erubis/Main.html" class="link">Erubis::Main</a><br />
272
279
  Class <a href="Erubis/NoCodeEruby.html" class="link">Erubis::NoCodeEruby</a><br />
273
280
  Class <a href="Erubis/NoTextEruby.html" class="link">Erubis::NoTextEruby</a><br />
@@ -306,7 +313,7 @@ Class <a href="Erubis/XmlEruby.html" class="link">Erubis::XmlEruby</a><br />
306
313
  <tr class="top-aligned-row context-row">
307
314
  <td class="context-item-name">VERSION</td>
308
315
  <td>=</td>
309
- <td class="context-item-value">('$Release: 2.2.0 $' =~ /([.\d]+)/) &amp;&amp; $1</td>
316
+ <td class="context-item-value">('$Release: 2.3.0 $' =~ /([.\d]+)/) &amp;&amp; $1</td>
310
317
  </tr>
311
318
  </table>
312
319
  </div>
@@ -89,8 +89,8 @@ this is only for <a href="Eruby.html">Eruby</a>.
89
89
  <h3 class="section-bar">Methods</h3>
90
90
 
91
91
  <div class="name-list">
92
- <a href="#M000148">add_postamble</a>&nbsp;&nbsp;
93
- <a href="#M000147">add_preamble</a>&nbsp;&nbsp;
92
+ <a href="#M000155">add_postamble</a>&nbsp;&nbsp;
93
+ <a href="#M000154">add_preamble</a>&nbsp;&nbsp;
94
94
  </div>
95
95
  </div>
96
96
 
@@ -112,19 +112,19 @@ this is only for <a href="Eruby.html">Eruby</a>.
112
112
  <div id="methods">
113
113
  <h3 class="section-bar">Public Instance methods</h3>
114
114
 
115
- <div id="method-M000148" class="method-detail">
116
- <a name="M000148"></a>
115
+ <div id="method-M000155" class="method-detail">
116
+ <a name="M000155"></a>
117
117
 
118
118
  <div class="method-heading">
119
- <a href="#M000148" class="method-signature">
119
+ <a href="#M000155" class="method-signature">
120
120
  <span class="method-name">add_postamble</span><span class="method-args">(src)</span>
121
121
  </a>
122
122
  </div>
123
123
 
124
124
  <div class="method-description">
125
125
  <p><a class="source-toggle" href="#"
126
- onclick="toggleCode('M000148-source');return false;">[Source]</a></p>
127
- <div class="method-source-code" id="M000148-source">
126
+ onclick="toggleCode('M000155-source');return false;">[Source]</a></p>
127
+ <div class="method-source-code" id="M000155-source">
128
128
  <pre>
129
129
  <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 169</span>
130
130
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_postamble</span>(<span class="ruby-identifier">src</span>)
@@ -136,19 +136,19 @@ this is only for <a href="Eruby.html">Eruby</a>.
136
136
  </div>
137
137
  </div>
138
138
 
139
- <div id="method-M000147" class="method-detail">
140
- <a name="M000147"></a>
139
+ <div id="method-M000154" class="method-detail">
140
+ <a name="M000154"></a>
141
141
 
142
142
  <div class="method-heading">
143
- <a href="#M000147" class="method-signature">
143
+ <a href="#M000154" class="method-signature">
144
144
  <span class="method-name">add_preamble</span><span class="method-args">(src)</span>
145
145
  </a>
146
146
  </div>
147
147
 
148
148
  <div class="method-description">
149
149
  <p><a class="source-toggle" href="#"
150
- onclick="toggleCode('M000147-source');return false;">[Source]</a></p>
151
- <div class="method-source-code" id="M000147-source">
150
+ onclick="toggleCode('M000154-source');return false;">[Source]</a></p>
151
+ <div class="method-source-code" id="M000154-source">
152
152
  <pre>
153
153
  <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 165</span>
154
154
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_preamble</span>(<span class="ruby-identifier">src</span>)
@@ -86,10 +86,10 @@ basic converter which supports &#8217;&lt;% &#8230; %&gt;&#8217; notation.
86
86
  <h3 class="section-bar">Methods</h3>
87
87
 
88
88
  <div class="name-list">
89
- <a href="#M000054">add_expr</a>&nbsp;&nbsp;
90
- <a href="#M000053">convert_input</a>&nbsp;&nbsp;
91
- <a href="#M000051">init_converter</a>&nbsp;&nbsp;
92
- <a href="#M000052">pattern_regexp</a>&nbsp;&nbsp;
89
+ <a href="#M000059">add_expr</a>&nbsp;&nbsp;
90
+ <a href="#M000058">convert_input</a>&nbsp;&nbsp;
91
+ <a href="#M000056">init_converter</a>&nbsp;&nbsp;
92
+ <a href="#M000057">pattern_regexp</a>&nbsp;&nbsp;
93
93
  </div>
94
94
  </div>
95
95
 
@@ -156,11 +156,11 @@ DEFAULT_REGEXP = /&lt;%(=+|\#)?(.*?)-?%&gt;([ \t]*\r?\n)?/m
156
156
  <div id="methods">
157
157
  <h3 class="section-bar">Public Instance methods</h3>
158
158
 
159
- <div id="method-M000054" class="method-detail">
160
- <a name="M000054"></a>
159
+ <div id="method-M000059" class="method-detail">
160
+ <a name="M000059"></a>
161
161
 
162
162
  <div class="method-heading">
163
- <a href="#M000054" class="method-signature">
163
+ <a href="#M000059" class="method-signature">
164
164
  <span class="method-name">add_expr</span><span class="method-args">(src, code, indicator)</span>
165
165
  </a>
166
166
  </div>
@@ -170,8 +170,8 @@ DEFAULT_REGEXP = /&lt;%(=+|\#)?(.*?)-?%&gt;([ \t]*\r?\n)?/m
170
170
  add expression code to src
171
171
  </p>
172
172
  <p><a class="source-toggle" href="#"
173
- onclick="toggleCode('M000054-source');return false;">[Source]</a></p>
174
- <div class="method-source-code" id="M000054-source">
173
+ onclick="toggleCode('M000059-source');return false;">[Source]</a></p>
174
+ <div class="method-source-code" id="M000059-source">
175
175
  <pre>
176
176
  <span class="ruby-comment cmt"># File erubis/converter.rb, line 171</span>
177
177
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_expr</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">code</span>, <span class="ruby-identifier">indicator</span>)
@@ -189,19 +189,19 @@ add expression code to src
189
189
  </div>
190
190
  </div>
191
191
 
192
- <div id="method-M000053" class="method-detail">
193
- <a name="M000053"></a>
192
+ <div id="method-M000058" class="method-detail">
193
+ <a name="M000058"></a>
194
194
 
195
195
  <div class="method-heading">
196
- <a href="#M000053" class="method-signature">
196
+ <a href="#M000058" class="method-signature">
197
197
  <span class="method-name">convert_input</span><span class="method-args">(src, input)</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('M000053-source');return false;">[Source]</a></p>
204
- <div class="method-source-code" id="M000053-source">
203
+ onclick="toggleCode('M000058-source');return false;">[Source]</a></p>
204
+ <div class="method-source-code" id="M000058-source">
205
205
  <pre>
206
206
  <span class="ruby-comment cmt"># File erubis/converter.rb, line 127</span>
207
207
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">convert_input</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">input</span>)
@@ -251,19 +251,19 @@ add expression code to src
251
251
  </div>
252
252
  </div>
253
253
 
254
- <div id="method-M000051" class="method-detail">
255
- <a name="M000051"></a>
254
+ <div id="method-M000056" class="method-detail">
255
+ <a name="M000056"></a>
256
256
 
257
257
  <div class="method-heading">
258
- <a href="#M000051" class="method-signature">
258
+ <a href="#M000056" class="method-signature">
259
259
  <span class="method-name">init_converter</span><span class="method-args">(properties={})</span>
260
260
  </a>
261
261
  </div>
262
262
 
263
263
  <div class="method-description">
264
264
  <p><a class="source-toggle" href="#"
265
- onclick="toggleCode('M000051-source');return false;">[Source]</a></p>
266
- <div class="method-source-code" id="M000051-source">
265
+ onclick="toggleCode('M000056-source');return false;">[Source]</a></p>
266
+ <div class="method-source-code" id="M000056-source">
267
267
  <pre>
268
268
  <span class="ruby-comment cmt"># File erubis/converter.rb, line 103</span>
269
269
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">init_converter</span>(<span class="ruby-identifier">properties</span>={})
@@ -278,11 +278,11 @@ add expression code to src
278
278
 
279
279
  <h3 class="section-bar">Protected Instance methods</h3>
280
280
 
281
- <div id="method-M000052" class="method-detail">
282
- <a name="M000052"></a>
281
+ <div id="method-M000057" class="method-detail">
282
+ <a name="M000057"></a>
283
283
 
284
284
  <div class="method-heading">
285
- <a href="#M000052" class="method-signature">
285
+ <a href="#M000057" class="method-signature">
286
286
  <span class="method-name">pattern_regexp</span><span class="method-args">(pattern)</span>
287
287
  </a>
288
288
  </div>
@@ -292,8 +292,8 @@ add expression code to src
292
292
  return regexp of pattern to parse eRuby script
293
293
  </p>
294
294
  <p><a class="source-toggle" href="#"
295
- onclick="toggleCode('M000052-source');return false;">[Source]</a></p>
296
- <div class="method-source-code" id="M000052-source">
295
+ onclick="toggleCode('M000057-source');return false;">[Source]</a></p>
296
+ <div class="method-source-code" id="M000057-source">
297
297
  <pre>
298
298
  <span class="ruby-comment cmt"># File erubis/converter.rb, line 112</span>
299
299
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pattern_regexp</span>(<span class="ruby-identifier">pattern</span>)
@@ -119,8 +119,8 @@ this is language independent.
119
119
  <h3 class="section-bar">Methods</h3>
120
120
 
121
121
  <div class="name-list">
122
- <a href="#M000122">add_text</a>&nbsp;&nbsp;
123
- <a href="#M000121">new</a>&nbsp;&nbsp;
122
+ <a href="#M000127">add_text</a>&nbsp;&nbsp;
123
+ <a href="#M000126">new</a>&nbsp;&nbsp;
124
124
  </div>
125
125
  </div>
126
126
 
@@ -142,21 +142,21 @@ this is language independent.
142
142
  <div id="methods">
143
143
  <h3 class="section-bar">Public Class methods</h3>
144
144
 
145
- <div id="method-M000121" class="method-detail">
146
- <a name="M000121"></a>
145
+ <div id="method-M000126" class="method-detail">
146
+ <a name="M000126"></a>
147
147
 
148
148
  <div class="method-heading">
149
- <a href="#M000121" class="method-signature">
149
+ <a href="#M000126" class="method-signature">
150
150
  <span class="method-name">new</span><span class="method-args">(input, properties={})</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('M000121-source');return false;">[Source]</a></p>
157
- <div class="method-source-code" id="M000121-source">
156
+ onclick="toggleCode('M000126-source');return false;">[Source]</a></p>
157
+ <div class="method-source-code" id="M000126-source">
158
158
  <pre>
159
- <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 410</span>
159
+ <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 408</span>
160
160
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">input</span>, <span class="ruby-identifier">properties</span>={})
161
161
  <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">bipattern</span> = <span class="ruby-identifier">properties</span>[<span class="ruby-identifier">:bipattern</span>] <span class="ruby-comment cmt"># or '\$\{ \}'</span>
162
162
  <span class="ruby-keyword kw">super</span>
@@ -168,21 +168,21 @@ this is language independent.
168
168
 
169
169
  <h3 class="section-bar">Public Instance methods</h3>
170
170
 
171
- <div id="method-M000122" class="method-detail">
172
- <a name="M000122"></a>
171
+ <div id="method-M000127" class="method-detail">
172
+ <a name="M000127"></a>
173
173
 
174
174
  <div class="method-heading">
175
- <a href="#M000122" class="method-signature">
175
+ <a href="#M000127" class="method-signature">
176
176
  <span class="method-name">add_text</span><span class="method-args">(src, text)</span>
177
177
  </a>
178
178
  </div>
179
179
 
180
180
  <div class="method-description">
181
181
  <p><a class="source-toggle" href="#"
182
- onclick="toggleCode('M000122-source');return false;">[Source]</a></p>
183
- <div class="method-source-code" id="M000122-source">
182
+ onclick="toggleCode('M000127-source');return false;">[Source]</a></p>
183
+ <div class="method-source-code" id="M000127-source">
184
184
  <pre>
185
- <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 422</span>
185
+ <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 420</span>
186
186
  <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>)
187
187
  <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">text</span>
188
188
  <span class="ruby-identifier">text</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-ivar">@bipattern_regexp</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">txt</span>, <span class="ruby-identifier">indicator</span>, <span class="ruby-identifier">code</span><span class="ruby-operator">|</span>