erubis 2.3.1 → 2.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (163) hide show
  1. data/{CHANGES → CHANGES.txt} +373 -3
  2. data/MIT-LICENSE +1 -1
  3. data/README.txt +6 -5
  4. data/benchmark/bench.rb +18 -11
  5. data/bin/erubis +3 -4
  6. data/contrib/erubis +3462 -5
  7. data/contrib/inline-require +54 -28
  8. data/doc/docstyle.css +25 -4
  9. data/doc/users-guide.html +814 -110
  10. data/doc-api/classes/ActionView/TemplateHandlers/ErubisHandler.html +209 -0
  11. data/doc-api/classes/ActionView.html +105 -0
  12. data/doc-api/classes/Erubis/ArrayBufferEnhancer.html +14 -14
  13. data/doc-api/classes/Erubis/ArrayEnhancer.html +16 -16
  14. data/doc-api/classes/Erubis/Basic/Converter.html +36 -31
  15. data/doc-api/classes/Erubis/BiPatternEnhancer.html +16 -13
  16. data/doc-api/classes/Erubis/CGenerator.html +70 -70
  17. data/doc-api/classes/Erubis/Context.html +49 -49
  18. data/doc-api/classes/Erubis/Converter.html +30 -29
  19. data/doc-api/classes/Erubis/CppGenerator.html +382 -0
  20. data/doc-api/classes/Erubis/DeleteIndentEnhancer.html +7 -7
  21. data/doc-api/classes/Erubis/Ecpp.html +126 -0
  22. data/doc-api/classes/Erubis/Engine.html +46 -43
  23. data/doc-api/classes/Erubis/ErboutEnhancer.html +16 -16
  24. data/doc-api/classes/Erubis/EscapeEnhancer.html +7 -7
  25. data/doc-api/classes/Erubis/EscapedEcpp.html +120 -0
  26. data/doc-api/classes/Erubis/Evaluator.html +22 -22
  27. data/doc-api/classes/Erubis/Generator.html +70 -70
  28. data/doc-api/classes/Erubis/HeaderFooterEnhancer.html +18 -15
  29. data/doc-api/classes/Erubis/Helpers/RailsFormHelper.html +787 -0
  30. data/doc-api/classes/Erubis/Helpers/RailsHelper/TemplateConverter.html +213 -0
  31. data/doc-api/classes/Erubis/Helpers/RailsHelper.html +103 -54
  32. data/doc-api/classes/Erubis/Helpers.html +6 -1
  33. data/doc-api/classes/Erubis/InterpolationEnhancer.html +42 -41
  34. data/doc-api/classes/Erubis/JavaGenerator.html +69 -69
  35. data/doc-api/classes/Erubis/JavascriptGenerator.html +79 -74
  36. data/doc-api/classes/Erubis/Main.html +49 -48
  37. data/doc-api/classes/Erubis/NoCodeEnhancer.html +35 -35
  38. data/doc-api/classes/Erubis/NoTextEnhancer.html +7 -7
  39. data/doc-api/classes/Erubis/OptimizedEruby.html +7 -7
  40. data/doc-api/classes/Erubis/OptimizedGenerator.html +84 -84
  41. data/doc-api/classes/Erubis/OptimizedXmlEruby.html +7 -7
  42. data/doc-api/classes/Erubis/PI/Converter.html +23 -22
  43. data/doc-api/classes/Erubis/PI/Ec.html +7 -7
  44. data/doc-api/classes/Erubis/PI/Ecpp.html +166 -0
  45. data/doc-api/classes/Erubis/PI/Ejava.html +7 -7
  46. data/doc-api/classes/Erubis/PI/Ejavascript.html +7 -7
  47. data/doc-api/classes/Erubis/PI/Eperl.html +7 -7
  48. data/doc-api/classes/Erubis/PI/Ephp.html +7 -7
  49. data/doc-api/classes/Erubis/PI/Eruby.html +6 -6
  50. data/doc-api/classes/Erubis/PI/Escheme.html +7 -7
  51. data/doc-api/classes/Erubis/PI/TinyEruby.html +28 -27
  52. data/doc-api/classes/Erubis/PI.html +1 -0
  53. data/doc-api/classes/Erubis/PercentLineEnhancer.html +18 -29
  54. data/doc-api/classes/Erubis/PerlGenerator.html +63 -63
  55. data/doc-api/classes/Erubis/PhpGenerator.html +63 -63
  56. data/doc-api/classes/Erubis/PrefixedLineEnhancer.html +210 -0
  57. data/doc-api/classes/Erubis/PrefixedLineEruby.html +120 -0
  58. data/doc-api/classes/Erubis/PreprocessingEruby.html +183 -0
  59. data/doc-api/classes/Erubis/PreprocessingHelper.html +212 -0
  60. data/doc-api/classes/Erubis/PrintEnabledEnhancer.html +23 -23
  61. data/doc-api/classes/Erubis/PrintOutEnhancer.html +38 -38
  62. data/doc-api/classes/Erubis/RubyEvaluator.html +59 -22
  63. data/doc-api/classes/Erubis/RubyGenerator.html +53 -52
  64. data/doc-api/classes/Erubis/SchemeGenerator.html +70 -70
  65. data/doc-api/classes/Erubis/SimplifyEnhancer.html +10 -9
  66. data/doc-api/classes/Erubis/StdoutEnhancer.html +3 -3
  67. data/doc-api/classes/Erubis/StringBufferEnhancer.html +16 -16
  68. data/doc-api/classes/Erubis/TinyEruby.html +33 -33
  69. data/doc-api/classes/Erubis/XmlHelper.html +80 -15
  70. data/doc-api/classes/Erubis.html +25 -1
  71. data/doc-api/classes/Kernel.html +155 -0
  72. data/doc-api/created.rid +1 -1
  73. data/doc-api/files/README_txt.html +8 -8
  74. data/doc-api/files/erubis/context_rb.html +2 -2
  75. data/doc-api/files/erubis/converter_rb.html +3 -3
  76. data/doc-api/files/erubis/engine/ec_rb.html +2 -2
  77. data/doc-api/files/erubis/engine/ecpp_rb.html +115 -0
  78. data/doc-api/files/erubis/engine/ejava_rb.html +2 -2
  79. data/doc-api/files/erubis/engine/ejavascript_rb.html +2 -2
  80. data/doc-api/files/erubis/engine/enhanced_rb.html +2 -2
  81. data/doc-api/files/erubis/engine/eperl_rb.html +2 -2
  82. data/doc-api/files/erubis/engine/ephp_rb.html +2 -2
  83. data/doc-api/files/erubis/engine/eruby_rb.html +2 -2
  84. data/doc-api/files/erubis/engine/escheme_rb.html +2 -2
  85. data/doc-api/files/erubis/engine/optimized_rb.html +2 -2
  86. data/doc-api/files/erubis/engine_rb.html +2 -2
  87. data/doc-api/files/erubis/enhancer_rb.html +2 -2
  88. data/doc-api/files/erubis/error_rb.html +2 -2
  89. data/doc-api/files/erubis/evaluator_rb.html +2 -2
  90. data/doc-api/files/erubis/generator_rb.html +3 -3
  91. data/doc-api/files/erubis/helper_rb.html +2 -2
  92. data/doc-api/files/erubis/helpers/rails_form_helper_rb.html +107 -0
  93. data/doc-api/files/erubis/helpers/rails_helper_rb.html +3 -2
  94. data/doc-api/files/erubis/local-setting_rb.html +2 -2
  95. data/doc-api/files/erubis/main_rb.html +4 -2
  96. data/doc-api/files/erubis/preprocessing_rb.html +114 -0
  97. data/doc-api/files/erubis/tiny_rb.html +2 -2
  98. data/doc-api/files/erubis/util_rb.html +107 -0
  99. data/doc-api/files/erubis_rb.html +2 -2
  100. data/doc-api/fr_class_index.html +13 -0
  101. data/doc-api/fr_file_index.html +4 -0
  102. data/doc-api/fr_method_index.html +237 -179
  103. data/examples/basic/Makefile +7 -2
  104. data/examples/basic/example.ecpp +33 -0
  105. data/lib/erubis/context.rb +2 -3
  106. data/lib/erubis/converter.rb +17 -11
  107. data/lib/erubis/engine/ec.rb +2 -3
  108. data/lib/erubis/engine/ecpp.rb +113 -0
  109. data/lib/erubis/engine/ejava.rb +9 -10
  110. data/lib/erubis/engine/ejavascript.rb +14 -9
  111. data/lib/erubis/engine/enhanced.rb +7 -3
  112. data/lib/erubis/engine/eperl.rb +2 -3
  113. data/lib/erubis/engine/ephp.rb +2 -3
  114. data/lib/erubis/engine/eruby.rb +8 -8
  115. data/lib/erubis/engine/escheme.rb +2 -3
  116. data/lib/erubis/engine/optimized.rb +2 -3
  117. data/lib/erubis/engine.rb +13 -11
  118. data/lib/erubis/enhancer.rb +101 -34
  119. data/lib/erubis/error.rb +2 -3
  120. data/lib/erubis/evaluator.rb +27 -10
  121. data/lib/erubis/generator.rb +3 -4
  122. data/lib/erubis/helper.rb +14 -3
  123. data/lib/erubis/helpers/rails_form_helper.rb +197 -0
  124. data/lib/erubis/helpers/rails_helper.rb +219 -77
  125. data/lib/erubis/local-setting.rb +2 -3
  126. data/lib/erubis/main.rb +85 -60
  127. data/lib/erubis/preprocessing.rb +58 -0
  128. data/lib/erubis/tiny.rb +9 -9
  129. data/lib/erubis/util.rb +22 -0
  130. data/lib/erubis.rb +4 -4
  131. data/test/assert-text-equal.rb +2 -3
  132. data/test/data/users-guide/bufvar-example.rb +10 -0
  133. data/test/data/users-guide/bufvar-example.result +17 -0
  134. data/test/data/users-guide/def_method.rb +14 -0
  135. data/test/data/users-guide/def_method.result +3 -0
  136. data/test/data/users-guide/example.ecpp +30 -0
  137. data/test/data/users-guide/example1.rb +1 -0
  138. data/test/data/users-guide/example_c.result +22 -19
  139. data/test/data/users-guide/fasteruby-example.rb +8 -0
  140. data/test/data/users-guide/fasteruby-example.result +18 -0
  141. data/test/data/users-guide/main_program1.rb +8 -0
  142. data/test/data/users-guide/main_program1.result +6 -0
  143. data/test/data/users-guide/main_program2.rb +8 -0
  144. data/test/data/users-guide/main_program2.result +6 -0
  145. data/test/data/users-guide/percentline-example.rhtml +3 -1
  146. data/test/data/users-guide/percentline_example.result +5 -3
  147. data/test/data/users-guide/prefixedline-example.rb +9 -0
  148. data/test/data/users-guide/prefixedline-example.rhtml +6 -0
  149. data/test/data/users-guide/prefixedline_example.result +9 -0
  150. data/test/data/users-guide/tail_260.result +4 -0
  151. data/test/data/users-guide/tailnewline.rhtml +3 -0
  152. data/test/data/users-guide/template1.rhtml +4 -0
  153. data/test/data/users-guide/template2.rhtml +4 -0
  154. data/test/test-engines.rb +88 -5
  155. data/test/test-enhancers.rb +83 -6
  156. data/test/test-erubis.rb +115 -11
  157. data/test/test-index-cgi.rb +191 -0
  158. data/test/test-main.rb +143 -31
  159. data/test/test-users-guide.rb +20 -3
  160. data/test/test.rb +18 -3
  161. data/test/testutil.rb +44 -8
  162. metadata +104 -67
  163. data/contrib/action_view_base_rb.patch +0 -23
@@ -0,0 +1,126 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: Erubis::Ecpp</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">Erubis::Ecpp</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/erubis/engine/ecpp_rb.html">
59
+ erubis/engine/ecpp.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ <a href="Basic/Engine.html">
69
+ Basic::Engine
70
+ </a>
71
+ </td>
72
+ </tr>
73
+ </table>
74
+ </div>
75
+ <!-- banner header -->
76
+
77
+ <div id="bodyContent">
78
+
79
+
80
+
81
+ <div id="contextContent">
82
+
83
+ <div id="description">
84
+ <p>
85
+ engine for C
86
+ </p>
87
+
88
+ </div>
89
+
90
+
91
+ </div>
92
+
93
+
94
+ </div>
95
+
96
+
97
+ <!-- if includes -->
98
+ <div id="includes">
99
+ <h3 class="section-bar">Included Modules</h3>
100
+
101
+ <div id="includes-list">
102
+ <span class="include-name"><a href="CppGenerator.html">CppGenerator</a></span>
103
+ </div>
104
+ </div>
105
+
106
+ <div id="section">
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+ <!-- if method_list -->
116
+
117
+
118
+ </div>
119
+
120
+
121
+ <div id="validator-badges">
122
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
123
+ </div>
124
+
125
+ </body>
126
+ </html>
@@ -93,11 +93,11 @@ converter module.
93
93
  <h3 class="section-bar">Methods</h3>
94
94
 
95
95
  <div class="name-list">
96
- <a href="#M000166">convert!</a>&nbsp;&nbsp;
97
- <a href="#M000167">load_file</a>&nbsp;&nbsp;
98
- <a href="#M000165">new</a>&nbsp;&nbsp;
99
- <a href="#M000168">process</a>&nbsp;&nbsp;
100
- <a href="#M000169">process_proc</a>&nbsp;&nbsp;
96
+ <a href="#M000223">convert!</a>&nbsp;&nbsp;
97
+ <a href="#M000224">load_file</a>&nbsp;&nbsp;
98
+ <a href="#M000222">new</a>&nbsp;&nbsp;
99
+ <a href="#M000225">process</a>&nbsp;&nbsp;
100
+ <a href="#M000226">process_proc</a>&nbsp;&nbsp;
101
101
  </div>
102
102
  </div>
103
103
 
@@ -119,11 +119,11 @@ converter module.
119
119
  <div id="methods">
120
120
  <h3 class="section-bar">Public Class methods</h3>
121
121
 
122
- <div id="method-M000167" class="method-detail">
123
- <a name="M000167"></a>
122
+ <div id="method-M000224" class="method-detail">
123
+ <a name="M000224"></a>
124
124
 
125
125
  <div class="method-heading">
126
- <a href="#M000167" class="method-signature">
126
+ <a href="#M000224" class="method-signature">
127
127
  <span class="method-name">load_file</span><span class="method-args">(filename, properties={})</span>
128
128
  </a>
129
129
  </div>
@@ -131,26 +131,29 @@ converter module.
131
131
  <div class="method-description">
132
132
  <p>
133
133
  load file, write cache file, and return engine object. this method create
134
- cache file (filename + &#8217;.cache&#8217;) automatically.
134
+ code cache file automatically. cachefile name can be specified with
135
+ properties[:cachename], or filname + &#8216;cache&#8217; is used as
136
+ default.
135
137
  </p>
136
138
  <p><a class="source-toggle" href="#"
137
- onclick="toggleCode('M000167-source');return false;">[Source]</a></p>
138
- <div class="method-source-code" id="M000167-source">
139
+ onclick="toggleCode('M000224-source');return false;">[Source]</a></p>
140
+ <div class="method-source-code" id="M000224-source">
139
141
  <pre>
140
- <span class="ruby-comment cmt"># File erubis/engine.rb, line 47</span>
142
+ <span class="ruby-comment cmt"># File erubis/engine.rb, line 48</span>
141
143
  <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">load_file</span>(<span class="ruby-identifier">filename</span>, <span class="ruby-identifier">properties</span>={})
142
- <span class="ruby-identifier">cachename</span> = <span class="ruby-identifier">filename</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'.cache'</span>
144
+ <span class="ruby-identifier">cachename</span> = <span class="ruby-identifier">properties</span>[<span class="ruby-identifier">:cachename</span>] <span class="ruby-operator">||</span> (<span class="ruby-identifier">filename</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'.cache'</span>)
143
145
  <span class="ruby-identifier">properties</span>[<span class="ruby-identifier">:filename</span>] = <span class="ruby-identifier">filename</span>
144
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">test</span>(<span class="ruby-value">?f</span>, <span class="ruby-identifier">cachename</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">mtime</span>(<span class="ruby-identifier">filename</span>) <span class="ruby-operator">&lt;=</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">mtime</span>(<span class="ruby-identifier">cachename</span>)
146
+ <span class="ruby-identifier">timestamp</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">mtime</span>(<span class="ruby-identifier">filename</span>)
147
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">test</span>(<span class="ruby-value">?f</span>, <span class="ruby-identifier">cachename</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">timestamp</span> <span class="ruby-operator">==</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">mtime</span>(<span class="ruby-identifier">cachename</span>)
145
148
  <span class="ruby-identifier">engine</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">properties</span>)
146
149
  <span class="ruby-identifier">engine</span>.<span class="ruby-identifier">src</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">cachename</span>)
147
150
  <span class="ruby-keyword kw">else</span>
148
- <span class="ruby-identifier">input</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">filename</span>, <span class="ruby-value str">'rb'</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span> }
151
+ <span class="ruby-identifier">input</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">filename</span>, <span class="ruby-value str">'rb'</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span> }
149
152
  <span class="ruby-identifier">engine</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">input</span>, <span class="ruby-identifier">properties</span>)
150
- <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">cachename</span>, <span class="ruby-value str">'w'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
151
- <span class="ruby-identifier">f</span>.<span class="ruby-identifier">flock</span>(<span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-constant">LOCK_EX</span>)
152
- <span class="ruby-identifier">f</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">engine</span>.<span class="ruby-identifier">src</span>)
153
- <span class="ruby-keyword kw">end</span>
153
+ <span class="ruby-identifier">tmpname</span> = <span class="ruby-identifier">cachename</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">rand</span>().<span class="ruby-identifier">to_s</span>[<span class="ruby-value">1</span>,<span class="ruby-value">8</span>]
154
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">tmpname</span>, <span class="ruby-value str">'wb'</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">engine</span>.<span class="ruby-identifier">src</span>) }
155
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">rename</span>(<span class="ruby-identifier">tmpname</span>, <span class="ruby-identifier">cachename</span>)
156
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">utime</span>(<span class="ruby-identifier">timestamp</span>, <span class="ruby-identifier">timestamp</span>, <span class="ruby-identifier">cachename</span>)
154
157
  <span class="ruby-keyword kw">end</span>
155
158
  <span class="ruby-identifier">engine</span>.<span class="ruby-identifier">src</span>.<span class="ruby-identifier">untaint</span> <span class="ruby-comment cmt"># ok?</span>
156
159
  <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">engine</span>
@@ -160,11 +163,11 @@ cache file (filename + &#8217;.cache&#8217;) automatically.
160
163
  </div>
161
164
  </div>
162
165
 
163
- <div id="method-M000165" class="method-detail">
164
- <a name="M000165"></a>
166
+ <div id="method-M000222" class="method-detail">
167
+ <a name="M000222"></a>
165
168
 
166
169
  <div class="method-heading">
167
- <a href="#M000165" class="method-signature">
170
+ <a href="#M000222" class="method-signature">
168
171
  <span class="method-name">new</span><span class="method-args">(input=nil, properties={})</span>
169
172
  </a>
170
173
  </div>
@@ -176,10 +179,10 @@ href="Converter.html">Converter</a> include <a
176
179
  href="Generator.html">Generator</a>
177
180
  </p>
178
181
  <p><a class="source-toggle" href="#"
179
- onclick="toggleCode('M000165-source');return false;">[Source]</a></p>
180
- <div class="method-source-code" id="M000165-source">
182
+ onclick="toggleCode('M000222-source');return false;">[Source]</a></p>
183
+ <div class="method-source-code" id="M000222-source">
181
184
  <pre>
182
- <span class="ruby-comment cmt"># File erubis/engine.rb, line 26</span>
185
+ <span class="ruby-comment cmt"># File erubis/engine.rb, line 25</span>
183
186
  <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">properties</span>={})
184
187
  <span class="ruby-comment cmt">#@input = input</span>
185
188
  <span class="ruby-identifier">init_generator</span>(<span class="ruby-identifier">properties</span>)
@@ -194,11 +197,11 @@ href="Generator.html">Generator</a>
194
197
 
195
198
  <h3 class="section-bar">Public Instance methods</h3>
196
199
 
197
- <div id="method-M000166" class="method-detail">
198
- <a name="M000166"></a>
200
+ <div id="method-M000223" class="method-detail">
201
+ <a name="M000223"></a>
199
202
 
200
203
  <div class="method-heading">
201
- <a href="#M000166" class="method-signature">
204
+ <a href="#M000223" class="method-signature">
202
205
  <span class="method-name">convert!</span><span class="method-args">(input)</span>
203
206
  </a>
204
207
  </div>
@@ -208,10 +211,10 @@ href="Generator.html">Generator</a>
208
211
  convert input string and set it to @src
209
212
  </p>
210
213
  <p><a class="source-toggle" href="#"
211
- onclick="toggleCode('M000166-source');return false;">[Source]</a></p>
212
- <div class="method-source-code" id="M000166-source">
214
+ onclick="toggleCode('M000223-source');return false;">[Source]</a></p>
215
+ <div class="method-source-code" id="M000223-source">
213
216
  <pre>
214
- <span class="ruby-comment cmt"># File erubis/engine.rb, line 38</span>
217
+ <span class="ruby-comment cmt"># File erubis/engine.rb, line 37</span>
215
218
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">convert!</span>(<span class="ruby-identifier">input</span>)
216
219
  <span class="ruby-ivar">@src</span> = <span class="ruby-identifier">convert</span>(<span class="ruby-identifier">input</span>)
217
220
  <span class="ruby-keyword kw">end</span>
@@ -220,11 +223,11 @@ convert input string and set it to @src
220
223
  </div>
221
224
  </div>
222
225
 
223
- <div id="method-M000168" class="method-detail">
224
- <a name="M000168"></a>
226
+ <div id="method-M000225" class="method-detail">
227
+ <a name="M000225"></a>
225
228
 
226
229
  <div class="method-heading">
227
- <a href="#M000168" class="method-signature">
230
+ <a href="#M000225" class="method-signature">
228
231
  <span class="method-name">process</span><span class="method-args">(input, context=nil, filename=nil)</span>
229
232
  </a>
230
233
  </div>
@@ -235,10 +238,10 @@ helper method to convert and evaluate input text with context object.
235
238
  context may be Binding, Hash, or Object.
236
239
  </p>
237
240
  <p><a class="source-toggle" href="#"
238
- onclick="toggleCode('M000168-source');return false;">[Source]</a></p>
239
- <div class="method-source-code" id="M000168-source">
241
+ onclick="toggleCode('M000225-source');return false;">[Source]</a></p>
242
+ <div class="method-source-code" id="M000225-source">
240
243
  <pre>
241
- <span class="ruby-comment cmt"># File erubis/engine.rb, line 70</span>
244
+ <span class="ruby-comment cmt"># File erubis/engine.rb, line 72</span>
242
245
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process</span>(<span class="ruby-identifier">input</span>, <span class="ruby-identifier">context</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">filename</span>=<span class="ruby-keyword kw">nil</span>)
243
246
  <span class="ruby-identifier">code</span> = <span class="ruby-identifier">convert</span>(<span class="ruby-identifier">input</span>)
244
247
  <span class="ruby-identifier">filename</span> <span class="ruby-operator">||=</span> <span class="ruby-value str">'(erubis)'</span>
@@ -254,11 +257,11 @@ context may be Binding, Hash, or Object.
254
257
  </div>
255
258
  </div>
256
259
 
257
- <div id="method-M000169" class="method-detail">
258
- <a name="M000169"></a>
260
+ <div id="method-M000226" class="method-detail">
261
+ <a name="M000226"></a>
259
262
 
260
263
  <div class="method-heading">
261
- <a href="#M000169" class="method-signature">
264
+ <a href="#M000226" class="method-signature">
262
265
  <span class="method-name">process_proc</span><span class="method-args">(proc_obj, context=nil, filename=nil)</span>
263
266
  </a>
264
267
  </div>
@@ -269,10 +272,10 @@ helper method evaluate Proc object with contect object. context may be
269
272
  Binding, Hash, or Object.
270
273
  </p>
271
274
  <p><a class="source-toggle" href="#"
272
- onclick="toggleCode('M000169-source');return false;">[Source]</a></p>
273
- <div class="method-source-code" id="M000169-source">
275
+ onclick="toggleCode('M000226-source');return false;">[Source]</a></p>
276
+ <div class="method-source-code" id="M000226-source">
274
277
  <pre>
275
- <span class="ruby-comment cmt"># File erubis/engine.rb, line 86</span>
278
+ <span class="ruby-comment cmt"># File erubis/engine.rb, line 88</span>
276
279
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process_proc</span>(<span class="ruby-identifier">proc_obj</span>, <span class="ruby-identifier">context</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">filename</span>=<span class="ruby-keyword kw">nil</span>)
277
280
  <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">context</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Binding</span>)
278
281
  <span class="ruby-identifier">filename</span> <span class="ruby-operator">||=</span> <span class="ruby-value str">'(erubis)'</span>
@@ -90,8 +90,8 @@ this is only for <a href="Eruby.html">Eruby</a>.
90
90
  <h3 class="section-bar">Methods</h3>
91
91
 
92
92
  <div class="name-list">
93
- <a href="#M000153">add_postamble</a>&nbsp;&nbsp;
94
- <a href="#M000152">add_preamble</a>&nbsp;&nbsp;
93
+ <a href="#M000179">add_postamble</a>&nbsp;&nbsp;
94
+ <a href="#M000178">add_preamble</a>&nbsp;&nbsp;
95
95
  </div>
96
96
  </div>
97
97
 
@@ -113,47 +113,47 @@ this is only for <a href="Eruby.html">Eruby</a>.
113
113
  <div id="methods">
114
114
  <h3 class="section-bar">Public Instance methods</h3>
115
115
 
116
- <div id="method-M000153" class="method-detail">
117
- <a name="M000153"></a>
116
+ <div id="method-M000179" class="method-detail">
117
+ <a name="M000179"></a>
118
118
 
119
119
  <div class="method-heading">
120
- <a href="#M000153" class="method-signature">
120
+ <a href="#M000179" class="method-signature">
121
121
  <span class="method-name">add_postamble</span><span class="method-args">(src)</span>
122
122
  </a>
123
123
  </div>
124
124
 
125
125
  <div class="method-description">
126
126
  <p><a class="source-toggle" href="#"
127
- onclick="toggleCode('M000153-source');return false;">[Source]</a></p>
128
- <div class="method-source-code" id="M000153-source">
127
+ onclick="toggleCode('M000179-source');return false;">[Source]</a></p>
128
+ <div class="method-source-code" id="M000179-source">
129
129
  <pre>
130
- <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 261</span>
130
+ <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 260</span>
131
131
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_postamble</span>(<span class="ruby-identifier">src</span>)
132
132
  <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">src</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?\n</span>
133
- <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;_buf.to_s\n&quot;</span>
133
+ <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{@bufvar}.to_s\n&quot;</span>
134
134
  <span class="ruby-keyword kw">end</span>
135
135
  </pre>
136
136
  </div>
137
137
  </div>
138
138
  </div>
139
139
 
140
- <div id="method-M000152" class="method-detail">
141
- <a name="M000152"></a>
140
+ <div id="method-M000178" class="method-detail">
141
+ <a name="M000178"></a>
142
142
 
143
143
  <div class="method-heading">
144
- <a href="#M000152" class="method-signature">
144
+ <a href="#M000178" class="method-signature">
145
145
  <span class="method-name">add_preamble</span><span class="method-args">(src)</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('M000152-source');return false;">[Source]</a></p>
152
- <div class="method-source-code" id="M000152-source">
151
+ onclick="toggleCode('M000178-source');return false;">[Source]</a></p>
152
+ <div class="method-source-code" id="M000178-source">
153
153
  <pre>
154
- <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 257</span>
154
+ <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 256</span>
155
155
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_preamble</span>(<span class="ruby-identifier">src</span>)
156
- <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;_erbout = _buf = '';&quot;</span>
156
+ <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;_erbout = #{@bufvar} = '';&quot;</span>
157
157
  <span class="ruby-keyword kw">end</span>
158
158
  </pre>
159
159
  </div>
@@ -98,7 +98,7 @@ this is language-indenedent.
98
98
  <h3 class="section-bar">Methods</h3>
99
99
 
100
100
  <div class="name-list">
101
- <a href="#M000094">add_expr</a>&nbsp;&nbsp;
101
+ <a href="#M000185">add_expr</a>&nbsp;&nbsp;
102
102
  </div>
103
103
  </div>
104
104
 
@@ -120,21 +120,21 @@ this is language-indenedent.
120
120
  <div id="methods">
121
121
  <h3 class="section-bar">Public Instance methods</h3>
122
122
 
123
- <div id="method-M000094" class="method-detail">
124
- <a name="M000094"></a>
123
+ <div id="method-M000185" class="method-detail">
124
+ <a name="M000185"></a>
125
125
 
126
126
  <div class="method-heading">
127
- <a href="#M000094" class="method-signature">
127
+ <a href="#M000185" class="method-signature">
128
128
  <span class="method-name">add_expr</span><span class="method-args">(src, code, indicator)</span>
129
129
  </a>
130
130
  </div>
131
131
 
132
132
  <div class="method-description">
133
133
  <p><a class="source-toggle" href="#"
134
- onclick="toggleCode('M000094-source');return false;">[Source]</a></p>
135
- <div class="method-source-code" id="M000094-source">
134
+ onclick="toggleCode('M000185-source');return false;">[Source]</a></p>
135
+ <div class="method-source-code" id="M000185-source">
136
136
  <pre>
137
- <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 38</span>
137
+ <span class="ruby-comment cmt"># File erubis/enhancer.rb, line 37</span>
138
138
  <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>)
139
139
  <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">indicator</span>
140
140
  <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'='</span>
@@ -0,0 +1,120 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: Erubis::EscapedEcpp</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">Erubis::EscapedEcpp</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/erubis/engine/ecpp_rb.html">
59
+ erubis/engine/ecpp.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ <a href="Ecpp.html">
69
+ Ecpp
70
+ </a>
71
+ </td>
72
+ </tr>
73
+ </table>
74
+ </div>
75
+ <!-- banner header -->
76
+
77
+ <div id="bodyContent">
78
+
79
+
80
+
81
+ <div id="contextContent">
82
+
83
+
84
+
85
+ </div>
86
+
87
+
88
+ </div>
89
+
90
+
91
+ <!-- if includes -->
92
+ <div id="includes">
93
+ <h3 class="section-bar">Included Modules</h3>
94
+
95
+ <div id="includes-list">
96
+ <span class="include-name"><a href="EscapeEnhancer.html">EscapeEnhancer</a></span>
97
+ </div>
98
+ </div>
99
+
100
+ <div id="section">
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+ <!-- if method_list -->
110
+
111
+
112
+ </div>
113
+
114
+
115
+ <div id="validator-badges">
116
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
117
+ </div>
118
+
119
+ </body>
120
+ </html>