ghazel-erubis 2.6.5.1

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 (298) hide show
  1. data/CHANGES.txt +744 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.txt +102 -0
  4. data/benchmark/Makefile +6 -0
  5. data/benchmark/bench.rb +313 -0
  6. data/benchmark/bench_context.yaml +141 -0
  7. data/benchmark/templates/_footer.html +4 -0
  8. data/benchmark/templates/_header.html +52 -0
  9. data/benchmark/templates/bench_erb.rhtml +29 -0
  10. data/benchmark/templates/bench_erubis.rhtml +29 -0
  11. data/benchmark/templates/bench_eruby.rhtml +29 -0
  12. data/bin/erubis +10 -0
  13. data/contrib/erubis +3330 -0
  14. data/contrib/erubis-run.rb +132 -0
  15. data/contrib/inline-require +179 -0
  16. data/doc/docstyle.css +188 -0
  17. data/doc/users-guide.html +3285 -0
  18. data/doc-api/classes/ActionView/TemplateHandlers/ErubisHandler.html +209 -0
  19. data/doc-api/classes/ActionView.html +105 -0
  20. data/doc-api/classes/ERB.html +101 -0
  21. data/doc-api/classes/Erubis/ArrayBufferEnhancer.html +175 -0
  22. data/doc-api/classes/Erubis/ArrayBufferEruby.html +120 -0
  23. data/doc-api/classes/Erubis/ArrayEnhancer.html +174 -0
  24. data/doc-api/classes/Erubis/ArrayEruby.html +120 -0
  25. data/doc-api/classes/Erubis/Basic/Converter.html +327 -0
  26. data/doc-api/classes/Erubis/Basic/Engine.html +130 -0
  27. data/doc-api/classes/Erubis/Basic.html +112 -0
  28. data/doc-api/classes/Erubis/BiPatternEnhancer.html +215 -0
  29. data/doc-api/classes/Erubis/BiPatternEruby.html +120 -0
  30. data/doc-api/classes/Erubis/CGenerator.html +386 -0
  31. data/doc-api/classes/Erubis/CommandOptionError.html +113 -0
  32. data/doc-api/classes/Erubis/Context.html +344 -0
  33. data/doc-api/classes/Erubis/Converter.html +283 -0
  34. data/doc-api/classes/Erubis/DeleteIndentEnhancer.html +150 -0
  35. data/doc-api/classes/Erubis/DeleteIndentEruby.html +120 -0
  36. data/doc-api/classes/Erubis/Ec.html +126 -0
  37. data/doc-api/classes/Erubis/Ejava.html +126 -0
  38. data/doc-api/classes/Erubis/Ejavascript.html +126 -0
  39. data/doc-api/classes/Erubis/Engine.html +305 -0
  40. data/doc-api/classes/Erubis/Eperl.html +126 -0
  41. data/doc-api/classes/Erubis/Ephp.html +126 -0
  42. data/doc-api/classes/Erubis/ErboutEnhancer.html +175 -0
  43. data/doc-api/classes/Erubis/ErboutEruby.html +120 -0
  44. data/doc-api/classes/Erubis/ErubisError.html +117 -0
  45. data/doc-api/classes/Erubis/Eruby.html +132 -0
  46. data/doc-api/classes/Erubis/EscapeEnhancer.html +165 -0
  47. data/doc-api/classes/Erubis/EscapedEc.html +120 -0
  48. data/doc-api/classes/Erubis/EscapedEjava.html +120 -0
  49. data/doc-api/classes/Erubis/EscapedEjavascript.html +120 -0
  50. data/doc-api/classes/Erubis/EscapedEperl.html +120 -0
  51. data/doc-api/classes/Erubis/EscapedEphp.html +120 -0
  52. data/doc-api/classes/Erubis/EscapedEruby.html +127 -0
  53. data/doc-api/classes/Erubis/EscapedEscheme.html +120 -0
  54. data/doc-api/classes/Erubis/Escheme.html +126 -0
  55. data/doc-api/classes/Erubis/Evaluator.html +212 -0
  56. data/doc-api/classes/Erubis/FastEruby.html +131 -0
  57. data/doc-api/classes/Erubis/Generator.html +416 -0
  58. data/doc-api/classes/Erubis/HeaderFooterEnhancer.html +267 -0
  59. data/doc-api/classes/Erubis/HeaderFooterEruby.html +120 -0
  60. data/doc-api/classes/Erubis/Helpers/RailsFormHelper.html +787 -0
  61. data/doc-api/classes/Erubis/Helpers/RailsHelper/TemplateConverter.html +213 -0
  62. data/doc-api/classes/Erubis/Helpers/RailsHelper.html +349 -0
  63. data/doc-api/classes/Erubis/Helpers.html +116 -0
  64. data/doc-api/classes/Erubis/InterpolationEnhancer.html +306 -0
  65. data/doc-api/classes/Erubis/InterpolationEruby.html +120 -0
  66. data/doc-api/classes/Erubis/JavaGenerator.html +359 -0
  67. data/doc-api/classes/Erubis/JavascriptGenerator.html +386 -0
  68. data/doc-api/classes/Erubis/Main.html +341 -0
  69. data/doc-api/classes/Erubis/NoCodeEnhancer.html +249 -0
  70. data/doc-api/classes/Erubis/NoCodeEruby.html +120 -0
  71. data/doc-api/classes/Erubis/NoTextEnhancer.html +159 -0
  72. data/doc-api/classes/Erubis/NoTextEruby.html +120 -0
  73. data/doc-api/classes/Erubis/NotSupportedError.html +119 -0
  74. data/doc-api/classes/Erubis/OptimizedEruby.html +163 -0
  75. data/doc-api/classes/Erubis/OptimizedGenerator.html +439 -0
  76. data/doc-api/classes/Erubis/OptimizedXmlEruby.html +163 -0
  77. data/doc-api/classes/Erubis/PI/Converter.html +266 -0
  78. data/doc-api/classes/Erubis/PI/Ec.html +166 -0
  79. data/doc-api/classes/Erubis/PI/Ejava.html +166 -0
  80. data/doc-api/classes/Erubis/PI/Ejavascript.html +166 -0
  81. data/doc-api/classes/Erubis/PI/Engine.html +122 -0
  82. data/doc-api/classes/Erubis/PI/Eperl.html +166 -0
  83. data/doc-api/classes/Erubis/PI/Ephp.html +166 -0
  84. data/doc-api/classes/Erubis/PI/Eruby.html +155 -0
  85. data/doc-api/classes/Erubis/PI/Escheme.html +166 -0
  86. data/doc-api/classes/Erubis/PI/TinyEruby.html +293 -0
  87. data/doc-api/classes/Erubis/PI.html +124 -0
  88. data/doc-api/classes/Erubis/PercentLineEnhancer.html +179 -0
  89. data/doc-api/classes/Erubis/PercentLineEruby.html +120 -0
  90. data/doc-api/classes/Erubis/PerlGenerator.html +344 -0
  91. data/doc-api/classes/Erubis/PhpGenerator.html +350 -0
  92. data/doc-api/classes/Erubis/PreprocessingEruby.html +183 -0
  93. data/doc-api/classes/Erubis/PreprocessingHelper.html +212 -0
  94. data/doc-api/classes/Erubis/PrintEnabledEnhancer.html +212 -0
  95. data/doc-api/classes/Erubis/PrintEnabledEruby.html +120 -0
  96. data/doc-api/classes/Erubis/PrintOutEnhancer.html +244 -0
  97. data/doc-api/classes/Erubis/PrintOutEruby.html +120 -0
  98. data/doc-api/classes/Erubis/PrintOutSimplifiedEruby.html +121 -0
  99. data/doc-api/classes/Erubis/RubyEvaluator.html +227 -0
  100. data/doc-api/classes/Erubis/RubyGenerator.html +327 -0
  101. data/doc-api/classes/Erubis/SchemeGenerator.html +382 -0
  102. data/doc-api/classes/Erubis/SimplifiedEruby.html +120 -0
  103. data/doc-api/classes/Erubis/SimplifyEnhancer.html +191 -0
  104. data/doc-api/classes/Erubis/StdoutEnhancer.html +173 -0
  105. data/doc-api/classes/Erubis/StdoutEruby.html +120 -0
  106. data/doc-api/classes/Erubis/StdoutSimplifiedEruby.html +121 -0
  107. data/doc-api/classes/Erubis/StringBufferEnhancer.html +174 -0
  108. data/doc-api/classes/Erubis/StringBufferEruby.html +120 -0
  109. data/doc-api/classes/Erubis/StringIOEruby.html +120 -0
  110. data/doc-api/classes/Erubis/TinyEruby.html +298 -0
  111. data/doc-api/classes/Erubis/XmlEruby.html +130 -0
  112. data/doc-api/classes/Erubis/XmlHelper.html +255 -0
  113. data/doc-api/classes/Erubis.html +353 -0
  114. data/doc-api/created.rid +1 -0
  115. data/doc-api/files/README_txt.html +247 -0
  116. data/doc-api/files/erubis/context_rb.html +107 -0
  117. data/doc-api/files/erubis/converter_rb.html +114 -0
  118. data/doc-api/files/erubis/engine/ec_rb.html +115 -0
  119. data/doc-api/files/erubis/engine/ejava_rb.html +115 -0
  120. data/doc-api/files/erubis/engine/ejavascript_rb.html +115 -0
  121. data/doc-api/files/erubis/engine/enhanced_rb.html +115 -0
  122. data/doc-api/files/erubis/engine/eperl_rb.html +115 -0
  123. data/doc-api/files/erubis/engine/ephp_rb.html +115 -0
  124. data/doc-api/files/erubis/engine/eruby_rb.html +115 -0
  125. data/doc-api/files/erubis/engine/escheme_rb.html +115 -0
  126. data/doc-api/files/erubis/engine/optimized_rb.html +114 -0
  127. data/doc-api/files/erubis/engine_rb.html +117 -0
  128. data/doc-api/files/erubis/enhancer_rb.html +107 -0
  129. data/doc-api/files/erubis/error_rb.html +107 -0
  130. data/doc-api/files/erubis/evaluator_rb.html +115 -0
  131. data/doc-api/files/erubis/generator_rb.html +114 -0
  132. data/doc-api/files/erubis/helper_rb.html +107 -0
  133. data/doc-api/files/erubis/helpers/rails_form_helper_rb.html +107 -0
  134. data/doc-api/files/erubis/helpers/rails_helper_rb.html +116 -0
  135. data/doc-api/files/erubis/local-setting_rb.html +107 -0
  136. data/doc-api/files/erubis/main_rb.html +127 -0
  137. data/doc-api/files/erubis/preprocessing_rb.html +114 -0
  138. data/doc-api/files/erubis/tiny_rb.html +107 -0
  139. data/doc-api/files/erubis_rb.html +118 -0
  140. data/doc-api/fr_class_index.html +122 -0
  141. data/doc-api/fr_file_index.html +51 -0
  142. data/doc-api/fr_method_index.html +251 -0
  143. data/doc-api/index.html +24 -0
  144. data/doc-api/rdoc-style.css +208 -0
  145. data/examples/basic/Makefile +53 -0
  146. data/examples/basic/example.ec +42 -0
  147. data/examples/basic/example.ejava +45 -0
  148. data/examples/basic/example.ejs +16 -0
  149. data/examples/basic/example.eperl +16 -0
  150. data/examples/basic/example.ephp +17 -0
  151. data/examples/basic/example.eruby +15 -0
  152. data/examples/basic/example.escheme +26 -0
  153. data/examples/pi/Makefile +54 -0
  154. data/examples/pi/example.ec +42 -0
  155. data/examples/pi/example.ejava +45 -0
  156. data/examples/pi/example.ejs +16 -0
  157. data/examples/pi/example.eperl +16 -0
  158. data/examples/pi/example.ephp +17 -0
  159. data/examples/pi/example.eruby +15 -0
  160. data/examples/pi/example.escheme +26 -0
  161. data/lib/erubis/context.rb +83 -0
  162. data/lib/erubis/converter.rb +357 -0
  163. data/lib/erubis/engine/ec.rb +117 -0
  164. data/lib/erubis/engine/ejava.rb +110 -0
  165. data/lib/erubis/engine/ejavascript.rb +119 -0
  166. data/lib/erubis/engine/enhanced.rb +121 -0
  167. data/lib/erubis/engine/eperl.rb +95 -0
  168. data/lib/erubis/engine/ephp.rb +99 -0
  169. data/lib/erubis/engine/eruby.rb +124 -0
  170. data/lib/erubis/engine/escheme.rb +114 -0
  171. data/lib/erubis/engine/optimized.rb +127 -0
  172. data/lib/erubis/engine.rb +120 -0
  173. data/lib/erubis/enhancer.rb +680 -0
  174. data/lib/erubis/error.rb +23 -0
  175. data/lib/erubis/evaluator.rb +88 -0
  176. data/lib/erubis/generator.rb +85 -0
  177. data/lib/erubis/helper.rb +47 -0
  178. data/lib/erubis/helpers/rails_form_helper.rb +197 -0
  179. data/lib/erubis/helpers/rails_helper.rb +353 -0
  180. data/lib/erubis/local-setting.rb +9 -0
  181. data/lib/erubis/main.rb +489 -0
  182. data/lib/erubis/preprocessing.rb +58 -0
  183. data/lib/erubis/tiny.rb +144 -0
  184. data/lib/erubis.rb +72 -0
  185. data/setup.rb +1331 -0
  186. data/test/assert-text-equal.rb +44 -0
  187. data/test/data/users-guide/Example.ejava +55 -0
  188. data/test/data/users-guide/array_example.result +9 -0
  189. data/test/data/users-guide/arraybuffer_example.result +9 -0
  190. data/test/data/users-guide/bipattern-example.rhtml +4 -0
  191. data/test/data/users-guide/bipattern_example.result +6 -0
  192. data/test/data/users-guide/context.rb +6 -0
  193. data/test/data/users-guide/context.yaml +8 -0
  194. data/test/data/users-guide/def_method.rb +14 -0
  195. data/test/data/users-guide/def_method.result +3 -0
  196. data/test/data/users-guide/escape_example.result +9 -0
  197. data/test/data/users-guide/example.ec +27 -0
  198. data/test/data/users-guide/example.ejs +20 -0
  199. data/test/data/users-guide/example.eperl +18 -0
  200. data/test/data/users-guide/example.ephp +18 -0
  201. data/test/data/users-guide/example.eruby +6 -0
  202. data/test/data/users-guide/example.escheme +28 -0
  203. data/test/data/users-guide/example1.eruby +6 -0
  204. data/test/data/users-guide/example1.rb +17 -0
  205. data/test/data/users-guide/example1.result +16 -0
  206. data/test/data/users-guide/example10.rb +4 -0
  207. data/test/data/users-guide/example10.result +17 -0
  208. data/test/data/users-guide/example10.xhtml +14 -0
  209. data/test/data/users-guide/example10_x.result +17 -0
  210. data/test/data/users-guide/example11.php +20 -0
  211. data/test/data/users-guide/example11.result +23 -0
  212. data/test/data/users-guide/example11.rhtml +21 -0
  213. data/test/data/users-guide/example11_C.result +10 -0
  214. data/test/data/users-guide/example11_N.result +16 -0
  215. data/test/data/users-guide/example11_U.result +16 -0
  216. data/test/data/users-guide/example11_php.result +15 -0
  217. data/test/data/users-guide/example1_x.result +9 -0
  218. data/test/data/users-guide/example2.eruby +7 -0
  219. data/test/data/users-guide/example2.rb +10 -0
  220. data/test/data/users-guide/example2.result +27 -0
  221. data/test/data/users-guide/example2_trim.result +10 -0
  222. data/test/data/users-guide/example2_x.result +10 -0
  223. data/test/data/users-guide/example3.eruby +6 -0
  224. data/test/data/users-guide/example3.rb +10 -0
  225. data/test/data/users-guide/example31.result +22 -0
  226. data/test/data/users-guide/example32.result +4 -0
  227. data/test/data/users-guide/example3_e.result +8 -0
  228. data/test/data/users-guide/example4.eruby +3 -0
  229. data/test/data/users-guide/example4.rb +11 -0
  230. data/test/data/users-guide/example4.result +10 -0
  231. data/test/data/users-guide/example4_x.result +5 -0
  232. data/test/data/users-guide/example5.eruby +6 -0
  233. data/test/data/users-guide/example5.rb +16 -0
  234. data/test/data/users-guide/example5.result +7 -0
  235. data/test/data/users-guide/example6.rb +12 -0
  236. data/test/data/users-guide/example6.result +7 -0
  237. data/test/data/users-guide/example7.eruby +8 -0
  238. data/test/data/users-guide/example71.result +13 -0
  239. data/test/data/users-guide/example72.result +13 -0
  240. data/test/data/users-guide/example8.eruby +6 -0
  241. data/test/data/users-guide/example8_ruby.result +7 -0
  242. data/test/data/users-guide/example8_yaml.result +7 -0
  243. data/test/data/users-guide/example9.eruby +3 -0
  244. data/test/data/users-guide/example9.rb +8 -0
  245. data/test/data/users-guide/example9.result +9 -0
  246. data/test/data/users-guide/example91.result +5 -0
  247. data/test/data/users-guide/example92.result +4 -0
  248. data/test/data/users-guide/example_c.result +29 -0
  249. data/test/data/users-guide/example_java.result +56 -0
  250. data/test/data/users-guide/example_js.result +22 -0
  251. data/test/data/users-guide/example_perl.result +20 -0
  252. data/test/data/users-guide/example_php.result +19 -0
  253. data/test/data/users-guide/example_scheme.result +30 -0
  254. data/test/data/users-guide/example_scheme_display.result +29 -0
  255. data/test/data/users-guide/fasteruby.rb +11 -0
  256. data/test/data/users-guide/fasteruby.result +38 -0
  257. data/test/data/users-guide/fasteruby.rhtml +15 -0
  258. data/test/data/users-guide/headerfooter-example.eruby +9 -0
  259. data/test/data/users-guide/headerfooter-example2.rb +8 -0
  260. data/test/data/users-guide/headerfooter-example2.rhtml +10 -0
  261. data/test/data/users-guide/headerfooter_example.result +11 -0
  262. data/test/data/users-guide/headerfooter_example2.result +13 -0
  263. data/test/data/users-guide/interpolation_example.result +9 -0
  264. data/test/data/users-guide/main_program1.rb +8 -0
  265. data/test/data/users-guide/main_program1.result +6 -0
  266. data/test/data/users-guide/main_program2.rb +8 -0
  267. data/test/data/users-guide/main_program2.result +6 -0
  268. data/test/data/users-guide/nocode-example.eruby +14 -0
  269. data/test/data/users-guide/nocode-php.result +20 -0
  270. data/test/data/users-guide/nocode_example.result +15 -0
  271. data/test/data/users-guide/normal-eruby-test.eruby +9 -0
  272. data/test/data/users-guide/normal_eruby_test.result +11 -0
  273. data/test/data/users-guide/notext-example.eruby +14 -0
  274. data/test/data/users-guide/notext-example.php +19 -0
  275. data/test/data/users-guide/notext-php.result +20 -0
  276. data/test/data/users-guide/notext_example.result +16 -0
  277. data/test/data/users-guide/percentline-example.rhtml +4 -0
  278. data/test/data/users-guide/percentline_example.result +7 -0
  279. data/test/data/users-guide/printenable_example.result +4 -0
  280. data/test/data/users-guide/printenabled-example.eruby +3 -0
  281. data/test/data/users-guide/printenabled-example.rb +8 -0
  282. data/test/data/users-guide/printstatement_example.result +8 -0
  283. data/test/data/users-guide/simplify_example.result +9 -0
  284. data/test/data/users-guide/stderr.log +3 -0
  285. data/test/data/users-guide/stdout_exmple.result +9 -0
  286. data/test/data/users-guide/stringbuffer_example.result +9 -0
  287. data/test/data/users-guide/tail_260.result +4 -0
  288. data/test/data/users-guide/tailnewline.rhtml +3 -0
  289. data/test/data/users-guide/template1.rhtml +4 -0
  290. data/test/data/users-guide/template2.rhtml +4 -0
  291. data/test/test-engines.rb +369 -0
  292. data/test/test-enhancers.rb +570 -0
  293. data/test/test-erubis.rb +883 -0
  294. data/test/test-main.rb +721 -0
  295. data/test/test-users-guide.rb +57 -0
  296. data/test/test.rb +29 -0
  297. data/test/testutil.rb +96 -0
  298. metadata +360 -0
@@ -0,0 +1,416 @@
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::Generator</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::Generator</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/erubis/generator_rb.html">
59
+ erubis/generator.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
+ code generator, called by <a href="Converter.html">Converter</a> module
78
+ </p>
79
+
80
+ </div>
81
+
82
+
83
+ </div>
84
+
85
+ <div id="method-list">
86
+ <h3 class="section-bar">Methods</h3>
87
+
88
+ <div class="name-list">
89
+ <a href="#M000019">add_expr_debug</a>&nbsp;&nbsp;
90
+ <a href="#M000018">add_expr_escaped</a>&nbsp;&nbsp;
91
+ <a href="#M000017">add_expr_literal</a>&nbsp;&nbsp;
92
+ <a href="#M000020">add_postamble</a>&nbsp;&nbsp;
93
+ <a href="#M000014">add_preamble</a>&nbsp;&nbsp;
94
+ <a href="#M000016">add_stmt</a>&nbsp;&nbsp;
95
+ <a href="#M000015">add_text</a>&nbsp;&nbsp;
96
+ <a href="#M000012">escape_text</a>&nbsp;&nbsp;
97
+ <a href="#M000013">escaped_expr</a>&nbsp;&nbsp;
98
+ <a href="#M000011">init_generator</a>&nbsp;&nbsp;
99
+ </div>
100
+ </div>
101
+
102
+ </div>
103
+
104
+
105
+ <!-- if includes -->
106
+
107
+ <div id="section">
108
+
109
+
110
+
111
+
112
+
113
+ <div id="attribute-list">
114
+ <h3 class="section-bar">Attributes</h3>
115
+
116
+ <div class="name-list">
117
+ <table>
118
+ <tr class="top-aligned-row context-row">
119
+ <td class="context-item-name">escapefunc</td>
120
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
121
+ <td class="context-item-desc"></td>
122
+ </tr>
123
+ </table>
124
+ </div>
125
+ </div>
126
+
127
+
128
+
129
+ <!-- if method_list -->
130
+ <div id="methods">
131
+ <h3 class="section-bar">Public Instance methods</h3>
132
+
133
+ <div id="method-M000019" class="method-detail">
134
+ <a name="M000019"></a>
135
+
136
+ <div class="method-heading">
137
+ <a href="#M000019" class="method-signature">
138
+ <span class="method-name">add_expr_debug</span><span class="method-args">(src, code)</span>
139
+ </a>
140
+ </div>
141
+
142
+ <div class="method-description">
143
+ <p>
144
+ (abstract) add expression code to src for debug. this is called by
145
+ add_expr().
146
+ </p>
147
+ <p><a class="source-toggle" href="#"
148
+ onclick="toggleCode('M000019-source');return false;">[Source]</a></p>
149
+ <div class="method-source-code" id="M000019-source">
150
+ <pre>
151
+ <span class="ruby-comment cmt"># File erubis/generator.rb, line 72</span>
152
+ <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>)
153
+ <span class="ruby-identifier">not_implemented</span>
154
+ <span class="ruby-keyword kw">end</span>
155
+ </pre>
156
+ </div>
157
+ </div>
158
+ </div>
159
+
160
+ <div id="method-M000018" class="method-detail">
161
+ <a name="M000018"></a>
162
+
163
+ <div class="method-heading">
164
+ <a href="#M000018" class="method-signature">
165
+ <span class="method-name">add_expr_escaped</span><span class="method-args">(src, code)</span>
166
+ </a>
167
+ </div>
168
+
169
+ <div class="method-description">
170
+ <p>
171
+ (abstract) add escaped expression code to src. this is called by
172
+ add_expr().
173
+ </p>
174
+ <p><a class="source-toggle" href="#"
175
+ onclick="toggleCode('M000018-source');return false;">[Source]</a></p>
176
+ <div class="method-source-code" id="M000018-source">
177
+ <pre>
178
+ <span class="ruby-comment cmt"># File erubis/generator.rb, line 67</span>
179
+ <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>)
180
+ <span class="ruby-identifier">not_implemented</span>
181
+ <span class="ruby-keyword kw">end</span>
182
+ </pre>
183
+ </div>
184
+ </div>
185
+ </div>
186
+
187
+ <div id="method-M000017" class="method-detail">
188
+ <a name="M000017"></a>
189
+
190
+ <div class="method-heading">
191
+ <a href="#M000017" class="method-signature">
192
+ <span class="method-name">add_expr_literal</span><span class="method-args">(src, code)</span>
193
+ </a>
194
+ </div>
195
+
196
+ <div class="method-description">
197
+ <p>
198
+ (abstract) add expression literal code to src. this is called by
199
+ add_expr().
200
+ </p>
201
+ <p><a class="source-toggle" href="#"
202
+ onclick="toggleCode('M000017-source');return false;">[Source]</a></p>
203
+ <div class="method-source-code" id="M000017-source">
204
+ <pre>
205
+ <span class="ruby-comment cmt"># File erubis/generator.rb, line 62</span>
206
+ <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>)
207
+ <span class="ruby-identifier">not_implemented</span>
208
+ <span class="ruby-keyword kw">end</span>
209
+ </pre>
210
+ </div>
211
+ </div>
212
+ </div>
213
+
214
+ <div id="method-M000020" class="method-detail">
215
+ <a name="M000020"></a>
216
+
217
+ <div class="method-heading">
218
+ <a href="#M000020" class="method-signature">
219
+ <span class="method-name">add_postamble</span><span class="method-args">(src)</span>
220
+ </a>
221
+ </div>
222
+
223
+ <div class="method-description">
224
+ <p>
225
+ (abstract) add @postamble to src
226
+ </p>
227
+ <p><a class="source-toggle" href="#"
228
+ onclick="toggleCode('M000020-source');return false;">[Source]</a></p>
229
+ <div class="method-source-code" id="M000020-source">
230
+ <pre>
231
+ <span class="ruby-comment cmt"># File erubis/generator.rb, line 77</span>
232
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_postamble</span>(<span class="ruby-identifier">src</span>)
233
+ <span class="ruby-identifier">not_implemented</span>
234
+ <span class="ruby-keyword kw">end</span>
235
+ </pre>
236
+ </div>
237
+ </div>
238
+ </div>
239
+
240
+ <div id="method-M000014" class="method-detail">
241
+ <a name="M000014"></a>
242
+
243
+ <div class="method-heading">
244
+ <a href="#M000014" class="method-signature">
245
+ <span class="method-name">add_preamble</span><span class="method-args">(src)</span>
246
+ </a>
247
+ </div>
248
+
249
+ <div class="method-description">
250
+ <p>
251
+ (abstract) add @preamble to src
252
+ </p>
253
+ <p><a class="source-toggle" href="#"
254
+ onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
255
+ <div class="method-source-code" id="M000014-source">
256
+ <pre>
257
+ <span class="ruby-comment cmt"># File erubis/generator.rb, line 47</span>
258
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_preamble</span>(<span class="ruby-identifier">src</span>)
259
+ <span class="ruby-identifier">not_implemented</span>
260
+ <span class="ruby-keyword kw">end</span>
261
+ </pre>
262
+ </div>
263
+ </div>
264
+ </div>
265
+
266
+ <div id="method-M000016" class="method-detail">
267
+ <a name="M000016"></a>
268
+
269
+ <div class="method-heading">
270
+ <a href="#M000016" class="method-signature">
271
+ <span class="method-name">add_stmt</span><span class="method-args">(src, code)</span>
272
+ </a>
273
+ </div>
274
+
275
+ <div class="method-description">
276
+ <p>
277
+ (abstract) add statement code to src
278
+ </p>
279
+ <p><a class="source-toggle" href="#"
280
+ onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
281
+ <div class="method-source-code" id="M000016-source">
282
+ <pre>
283
+ <span class="ruby-comment cmt"># File erubis/generator.rb, line 57</span>
284
+ <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>)
285
+ <span class="ruby-identifier">not_implemented</span>
286
+ <span class="ruby-keyword kw">end</span>
287
+ </pre>
288
+ </div>
289
+ </div>
290
+ </div>
291
+
292
+ <div id="method-M000015" class="method-detail">
293
+ <a name="M000015"></a>
294
+
295
+ <div class="method-heading">
296
+ <a href="#M000015" class="method-signature">
297
+ <span class="method-name">add_text</span><span class="method-args">(src, text)</span>
298
+ </a>
299
+ </div>
300
+
301
+ <div class="method-description">
302
+ <p>
303
+ (abstract) add text string to src
304
+ </p>
305
+ <p><a class="source-toggle" href="#"
306
+ onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
307
+ <div class="method-source-code" id="M000015-source">
308
+ <pre>
309
+ <span class="ruby-comment cmt"># File erubis/generator.rb, line 52</span>
310
+ <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>)
311
+ <span class="ruby-identifier">not_implemented</span>
312
+ <span class="ruby-keyword kw">end</span>
313
+ </pre>
314
+ </div>
315
+ </div>
316
+ </div>
317
+
318
+ <div id="method-M000012" class="method-detail">
319
+ <a name="M000012"></a>
320
+
321
+ <div class="method-heading">
322
+ <a href="#M000012" class="method-signature">
323
+ <span class="method-name">escape_text</span><span class="method-args">(text)</span>
324
+ </a>
325
+ </div>
326
+
327
+ <div class="method-description">
328
+ <p>
329
+ (abstract) escape text string
330
+ </p>
331
+ <p>
332
+ ex.
333
+ </p>
334
+ <pre>
335
+ def escape_text(text)
336
+ return text.dump
337
+ # or return &quot;'&quot; + text.gsub(/['\\]/, '\\\\\&amp;') + &quot;'&quot;
338
+ end
339
+ </pre>
340
+ <p><a class="source-toggle" href="#"
341
+ onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
342
+ <div class="method-source-code" id="M000012-source">
343
+ <pre>
344
+ <span class="ruby-comment cmt"># File erubis/generator.rb, line 36</span>
345
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">escape_text</span>(<span class="ruby-identifier">text</span>)
346
+ <span class="ruby-identifier">not_implemented</span>
347
+ <span class="ruby-keyword kw">end</span>
348
+ </pre>
349
+ </div>
350
+ </div>
351
+ </div>
352
+
353
+ <div id="method-M000013" class="method-detail">
354
+ <a name="M000013"></a>
355
+
356
+ <div class="method-heading">
357
+ <a href="#M000013" class="method-signature">
358
+ <span class="method-name">escaped_expr</span><span class="method-args">(code)</span>
359
+ </a>
360
+ </div>
361
+
362
+ <div class="method-description">
363
+ <p>
364
+ return escaped expression code (ex. &#8216;h(&#8230;)&#8217; or
365
+ &#8216;htmlspecialchars(&#8230;)&#8217;)
366
+ </p>
367
+ <p><a class="source-toggle" href="#"
368
+ onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
369
+ <div class="method-source-code" id="M000013-source">
370
+ <pre>
371
+ <span class="ruby-comment cmt"># File erubis/generator.rb, line 41</span>
372
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">escaped_expr</span>(<span class="ruby-identifier">code</span>)
373
+ <span class="ruby-identifier">code</span>.<span class="ruby-identifier">strip!</span>
374
+ <span class="ruby-keyword kw">return</span> <span class="ruby-node">&quot;#{@escapefunc}(#{code})&quot;</span>
375
+ <span class="ruby-keyword kw">end</span>
376
+ </pre>
377
+ </div>
378
+ </div>
379
+ </div>
380
+
381
+ <div id="method-M000011" class="method-detail">
382
+ <a name="M000011"></a>
383
+
384
+ <div class="method-heading">
385
+ <a href="#M000011" class="method-signature">
386
+ <span class="method-name">init_generator</span><span class="method-args">(properties={})</span>
387
+ </a>
388
+ </div>
389
+
390
+ <div class="method-description">
391
+ <p><a class="source-toggle" href="#"
392
+ onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
393
+ <div class="method-source-code" id="M000011-source">
394
+ <pre>
395
+ <span class="ruby-comment cmt"># File erubis/generator.rb, line 24</span>
396
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">init_generator</span>(<span class="ruby-identifier">properties</span>={})
397
+ <span class="ruby-ivar">@escapefunc</span> = <span class="ruby-identifier">properties</span>[<span class="ruby-identifier">:escapefunc</span>]
398
+ <span class="ruby-keyword kw">end</span>
399
+ </pre>
400
+ </div>
401
+ </div>
402
+ </div>
403
+
404
+
405
+ </div>
406
+
407
+
408
+ </div>
409
+
410
+
411
+ <div id="validator-badges">
412
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
413
+ </div>
414
+
415
+ </body>
416
+ </html>
@@ -0,0 +1,267 @@
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::HeaderFooterEnhancer</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::HeaderFooterEnhancer</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
+ <dl>
77
+ <dt>experimental</dt><dd>allow header and footer in eRuby script
78
+
79
+ </dd>
80
+ </dl>
81
+ <p>
82
+ ex.
83
+ </p>
84
+ <pre>
85
+ ====================
86
+ ## without header and footer
87
+ $ cat ex1.eruby
88
+ &lt;% def list_items(list) %&gt;
89
+ &lt;% for item in list %&gt;
90
+ &lt;li&gt;&lt;%= item %&gt;&lt;/li&gt;
91
+ &lt;% end %&gt;
92
+ &lt;% end %&gt;
93
+
94
+ $ erubis -s ex1.eruby
95
+ _buf = []; def list_items(list)
96
+ ; for item in list
97
+ ; _buf &lt;&lt; '&lt;li&gt;'; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '&lt;/li&gt;
98
+ '; end
99
+ ; end
100
+ ;
101
+ _buf.join
102
+
103
+ ## with header and footer
104
+ $ cat ex2.eruby
105
+ &lt;!--#header:
106
+ def list_items(list)
107
+ #--&gt;
108
+ &lt;% for item in list %&gt;
109
+ &lt;li&gt;&lt;%= item %&gt;&lt;/li&gt;
110
+ &lt;% end %&gt;
111
+ &lt;!--#footer:
112
+ end
113
+ #--&gt;
114
+
115
+ $ erubis -s -c HeaderFooterEruby ex4.eruby
116
+
117
+ def list_items(list)
118
+ _buf = []; _buf &lt;&lt; '
119
+ '; for item in list
120
+ ; _buf &lt;&lt; '&lt;li&gt;'; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '&lt;/li&gt;
121
+ '; end
122
+ ; _buf &lt;&lt; '
123
+ ';
124
+ _buf.join
125
+ end
126
+
127
+ ====================
128
+ </pre>
129
+ <p>
130
+ this is language-independent.
131
+ </p>
132
+
133
+ </div>
134
+
135
+
136
+ </div>
137
+
138
+ <div id="method-list">
139
+ <h3 class="section-bar">Methods</h3>
140
+
141
+ <div class="name-list">
142
+ <a href="#M000109">add_text</a>&nbsp;&nbsp;
143
+ <a href="#M000110">convert</a>&nbsp;&nbsp;
144
+ </div>
145
+ </div>
146
+
147
+ </div>
148
+
149
+
150
+ <!-- if includes -->
151
+
152
+ <div id="section">
153
+
154
+
155
+ <div id="constants-list">
156
+ <h3 class="section-bar">Constants</h3>
157
+
158
+ <div class="name-list">
159
+ <table summary="Constants">
160
+ <tr class="top-aligned-row context-row">
161
+ <td class="context-item-name">HEADER_FOOTER_PATTERN</td>
162
+ <td>=</td>
163
+ <td class="context-item-value">/(.*?)(^[ \t]*)?&lt;!--\#(\w+):(.*?)\#--&gt;([ \t]*\r?\n)?/m</td>
164
+ </tr>
165
+ </table>
166
+ </div>
167
+ </div>
168
+
169
+
170
+
171
+ <div id="attribute-list">
172
+ <h3 class="section-bar">Attributes</h3>
173
+
174
+ <div class="name-list">
175
+ <table>
176
+ <tr class="top-aligned-row context-row">
177
+ <td class="context-item-name">footer</td>
178
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
179
+ <td class="context-item-desc"></td>
180
+ </tr>
181
+ <tr class="top-aligned-row context-row">
182
+ <td class="context-item-name">header</td>
183
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
184
+ <td class="context-item-desc"></td>
185
+ </tr>
186
+ </table>
187
+ </div>
188
+ </div>
189
+
190
+
191
+
192
+ <!-- if method_list -->
193
+ <div id="methods">
194
+ <h3 class="section-bar">Public Instance methods</h3>
195
+
196
+ <div id="method-M000109" class="method-detail">
197
+ <a name="M000109"></a>
198
+
199
+ <div class="method-heading">
200
+ <a href="#M000109" class="method-signature">
201
+ <span class="method-name">add_text</span><span class="method-args">(src, text)</span>
202
+ </a>
203
+ </div>
204
+
205
+ <div class="method-description">
206
+ <p><a class="source-toggle" href="#"
207
+ onclick="toggleCode('M000109-source');return false;">[Source]</a></p>
208
+ <div class="method-source-code" id="M000109-source">
209
+ <pre>
210
+ <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 541</span>
211
+ <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>)
212
+ <span class="ruby-identifier">m</span> = <span class="ruby-keyword kw">nil</span>
213
+ <span class="ruby-identifier">text</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-constant">HEADER_FOOTER_PATTERN</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">txt</span>, <span class="ruby-identifier">lspace</span>, <span class="ruby-identifier">word</span>, <span class="ruby-identifier">content</span>, <span class="ruby-identifier">rspace</span><span class="ruby-operator">|</span>
214
+ <span class="ruby-identifier">m</span> = <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">last_match</span>
215
+ <span class="ruby-identifier">flag_trim</span> = <span class="ruby-ivar">@trim</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">lspace</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">rspace</span>
216
+ <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">txt</span>)
217
+ <span class="ruby-identifier">content</span> = <span class="ruby-node">&quot;#{lspace}#{content}#{rspace}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">flag_trim</span>
218
+ <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">lspace</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">flag_trim</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">lspace</span>
219
+ <span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-node">&quot;@#{word}&quot;</span>, <span class="ruby-identifier">content</span>)
220
+ <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">rspace</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">flag_trim</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">rspace</span>
221
+ <span class="ruby-keyword kw">end</span>
222
+ <span class="ruby-comment cmt">#rest = $' || text # ruby1.8</span>
223
+ <span class="ruby-identifier">rest</span> = <span class="ruby-identifier">m</span> <span class="ruby-value">? </span><span class="ruby-identifier">text</span>[<span class="ruby-identifier">m</span>.<span class="ruby-identifier">end</span>(<span class="ruby-value">0</span>)<span class="ruby-operator">..</span><span class="ruby-value">-1</span>] <span class="ruby-operator">:</span> <span class="ruby-identifier">text</span> <span class="ruby-comment cmt"># ruby1.9</span>
224
+ <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">rest</span>)
225
+ <span class="ruby-keyword kw">end</span>
226
+ </pre>
227
+ </div>
228
+ </div>
229
+ </div>
230
+
231
+ <div id="method-M000110" class="method-detail">
232
+ <a name="M000110"></a>
233
+
234
+ <div class="method-heading">
235
+ <a href="#M000110" class="method-signature">
236
+ <span class="method-name">convert</span><span class="method-args">(input)</span>
237
+ </a>
238
+ </div>
239
+
240
+ <div class="method-description">
241
+ <p><a class="source-toggle" href="#"
242
+ onclick="toggleCode('M000110-source');return false;">[Source]</a></p>
243
+ <div class="method-source-code" id="M000110-source">
244
+ <pre>
245
+ <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 559</span>
246
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">convert</span>(<span class="ruby-identifier">input</span>)
247
+ <span class="ruby-identifier">source</span> = <span class="ruby-keyword kw">super</span>
248
+ <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@src</span> = <span class="ruby-node">&quot;#{@header}#{source}#{@footer}&quot;</span>
249
+ <span class="ruby-keyword kw">end</span>
250
+ </pre>
251
+ </div>
252
+ </div>
253
+ </div>
254
+
255
+
256
+ </div>
257
+
258
+
259
+ </div>
260
+
261
+
262
+ <div id="validator-badges">
263
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
264
+ </div>
265
+
266
+ </body>
267
+ </html>