erubis 1.1.0 → 2.0.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 (116) hide show
  1. data/ChangeLog +45 -18
  2. data/README.txt +80 -0
  3. data/benchmark/erubybench-lib.rb +189 -0
  4. data/benchmark/erubybench.rb +364 -0
  5. data/benchmark/erubybench.rhtml +61 -0
  6. data/benchmark/erubybench.yaml +61 -0
  7. data/bin/erubis +4 -180
  8. data/contrib/erubis +2297 -0
  9. data/contrib/inline-require +151 -0
  10. data/doc-api/classes/Erubis.html +236 -0
  11. data/doc-api/classes/Erubis/ArrayBufferEnhancer.html +175 -0
  12. data/doc-api/classes/Erubis/ArrayBufferEruby.html +120 -0
  13. data/doc-api/classes/Erubis/ArrayEnhancer.html +174 -0
  14. data/doc-api/classes/Erubis/ArrayEruby.html +120 -0
  15. data/doc-api/classes/Erubis/BiPatternEnhancer.html +212 -0
  16. data/doc-api/classes/Erubis/BiPatternEruby.html +120 -0
  17. data/doc-api/classes/Erubis/CommandOptionError.html +113 -0
  18. data/doc-api/classes/Erubis/Context.html +249 -0
  19. data/doc-api/classes/Erubis/Ec.html +399 -0
  20. data/doc-api/classes/Erubis/Ejava.html +366 -0
  21. data/doc-api/classes/Erubis/Ejavascript.html +390 -0
  22. data/doc-api/classes/Erubis/Engine.html +711 -0
  23. data/doc-api/classes/Erubis/Eperl.html +350 -0
  24. data/doc-api/classes/Erubis/Ephp.html +308 -0
  25. data/doc-api/classes/Erubis/ErubisError.html +117 -0
  26. data/doc-api/classes/Erubis/Eruby.html +310 -0
  27. data/doc-api/classes/Erubis/EscapeEnhancer.html +167 -0
  28. data/doc-api/classes/Erubis/EscapedEc.html +120 -0
  29. data/doc-api/classes/Erubis/EscapedEjava.html +120 -0
  30. data/doc-api/classes/Erubis/EscapedEjavascript.html +120 -0
  31. data/doc-api/classes/Erubis/EscapedEperl.html +120 -0
  32. data/doc-api/classes/Erubis/EscapedEphp.html +120 -0
  33. data/doc-api/classes/Erubis/EscapedEruby.html +127 -0
  34. data/doc-api/classes/Erubis/EscapedEscheme.html +120 -0
  35. data/doc-api/classes/Erubis/Escheme.html +389 -0
  36. data/doc-api/classes/Erubis/HeaderFooterEnhancer.html +264 -0
  37. data/doc-api/classes/Erubis/HeaderFooterEruby.html +120 -0
  38. data/doc-api/classes/Erubis/Main.html +318 -0
  39. data/doc-api/classes/Erubis/NoTextEnhancer.html +159 -0
  40. data/doc-api/classes/Erubis/NoTextEruby.html +120 -0
  41. data/doc-api/classes/Erubis/OptimizedEruby.html +445 -0
  42. data/doc-api/classes/Erubis/OptimizedXmlEruby.html +163 -0
  43. data/doc-api/classes/Erubis/PercentLineEnhancer.html +174 -0
  44. data/doc-api/classes/Erubis/PercentLineEruby.html +120 -0
  45. data/doc-api/classes/Erubis/PrintEnabledEnhancer.html +212 -0
  46. data/doc-api/classes/Erubis/PrintEnabledEruby.html +120 -0
  47. data/doc-api/classes/Erubis/PrintOutEnhancer.html +244 -0
  48. data/doc-api/classes/Erubis/PrintOutEruby.html +120 -0
  49. data/doc-api/classes/Erubis/PrintOutSimplifiedEruby.html +121 -0
  50. data/doc-api/classes/Erubis/SimplifiedEruby.html +120 -0
  51. data/doc-api/classes/Erubis/SimplifyEnhancer.html +185 -0
  52. data/doc-api/classes/Erubis/StdoutEnhancer.html +173 -0
  53. data/doc-api/classes/Erubis/StdoutEruby.html +120 -0
  54. data/doc-api/classes/Erubis/StdoutSimplifiedEruby.html +121 -0
  55. data/doc-api/classes/Erubis/StringBufferEnhancer.html +174 -0
  56. data/doc-api/classes/Erubis/StringBufferEruby.html +120 -0
  57. data/doc-api/classes/Erubis/StringIOEruby.html +120 -0
  58. data/doc-api/classes/Erubis/TinyEruby.html +305 -0
  59. data/doc-api/classes/Erubis/XmlEruby.html +130 -0
  60. data/doc-api/classes/Erubis/XmlHelper.html +193 -0
  61. data/doc-api/created.rid +1 -0
  62. data/doc-api/files/__/README_txt.html +214 -0
  63. data/doc-api/files/erubis/engine/ec_rb.html +115 -0
  64. data/doc-api/files/erubis/engine/ejava_rb.html +115 -0
  65. data/doc-api/files/erubis/engine/ejavascript_rb.html +115 -0
  66. data/doc-api/files/erubis/engine/enhanced_rb.html +115 -0
  67. data/doc-api/files/erubis/engine/eperl_rb.html +115 -0
  68. data/doc-api/files/erubis/engine/ephp_rb.html +115 -0
  69. data/doc-api/files/erubis/engine/eruby_rb.html +115 -0
  70. data/doc-api/files/erubis/engine/escheme_rb.html +115 -0
  71. data/doc-api/files/erubis/engine/optimized_rb.html +114 -0
  72. data/doc-api/files/erubis/engine_rb.html +114 -0
  73. data/doc-api/files/erubis/enhancer_rb.html +114 -0
  74. data/doc-api/files/erubis/helper_rb.html +107 -0
  75. data/doc-api/files/erubis/local-setting_rb.html +107 -0
  76. data/doc-api/files/erubis/main_rb.html +125 -0
  77. data/doc-api/files/erubis/tiny_rb.html +107 -0
  78. data/doc-api/files/erubis_rb.html +118 -0
  79. data/doc-api/fr_class_index.html +77 -0
  80. data/doc-api/fr_file_index.html +43 -0
  81. data/doc-api/fr_method_index.html +157 -0
  82. data/doc-api/index.html +24 -0
  83. data/doc-api/rdoc-style.css +208 -0
  84. data/doc/users-guide.html +1507 -375
  85. data/examples/Makefile +53 -0
  86. data/examples/example.ec +24 -0
  87. data/examples/example.ejava +41 -0
  88. data/examples/example.ejavascript +16 -0
  89. data/examples/example.eperl +16 -0
  90. data/examples/example.ephp +17 -0
  91. data/examples/example.eruby +15 -0
  92. data/examples/example.escheme +26 -0
  93. data/lib/erubis.rb +37 -269
  94. data/lib/erubis/engine.rb +260 -0
  95. data/lib/erubis/engine/ec.rb +106 -0
  96. data/lib/erubis/engine/ejava.rb +101 -0
  97. data/lib/erubis/engine/ejavascript.rb +104 -0
  98. data/lib/erubis/engine/enhanced.rb +102 -0
  99. data/lib/erubis/engine/eperl.rb +83 -0
  100. data/lib/erubis/engine/ephp.rb +84 -0
  101. data/lib/erubis/engine/eruby.rb +91 -0
  102. data/lib/erubis/engine/escheme.rb +96 -0
  103. data/lib/erubis/engine/optimized.rb +114 -0
  104. data/lib/erubis/enhancer.rb +487 -0
  105. data/lib/erubis/helper.rb +53 -0
  106. data/lib/erubis/local-setting.rb +10 -0
  107. data/lib/erubis/main.rb +368 -0
  108. data/lib/erubis/tiny.rb +65 -0
  109. data/test/assert-text-equal.rb +45 -0
  110. data/test/test-bin.rb +222 -45
  111. data/test/test-engines.rb +343 -0
  112. data/test/test-erubis.rb +836 -501
  113. data/test/test.rb +27 -0
  114. data/test/testutil.rb +86 -0
  115. metadata +131 -8
  116. data/README +0 -50
@@ -0,0 +1,130 @@
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::XmlEruby</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::XmlEruby</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/erubis/engine/eruby_rb.html">
59
+ erubis/engine/eruby.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ <a href="Eruby.html">
69
+ Eruby
70
+ </a>
71
+ </td>
72
+ </tr>
73
+ </table>
74
+ </div>
75
+ <!-- banner header -->
76
+
77
+ <div id="bodyContent">
78
+
79
+
80
+
81
+ <div id="contextContent">
82
+
83
+ <div id="description">
84
+ <p>
85
+ sanitize expression (&lt;%= &#8230; %&gt;) by default
86
+ </p>
87
+ <p>
88
+ this is equivalent to <a href="EscapedEruby.html">EscapedEruby</a> and is
89
+ prepared only for compatibility.
90
+ </p>
91
+
92
+ </div>
93
+
94
+
95
+ </div>
96
+
97
+
98
+ </div>
99
+
100
+
101
+ <!-- if includes -->
102
+ <div id="includes">
103
+ <h3 class="section-bar">Included Modules</h3>
104
+
105
+ <div id="includes-list">
106
+ <span class="include-name"><a href="EscapeEnhancer.html">EscapeEnhancer</a></span>
107
+ </div>
108
+ </div>
109
+
110
+ <div id="section">
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+ <!-- if method_list -->
120
+
121
+
122
+ </div>
123
+
124
+
125
+ <div id="validator-badges">
126
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
127
+ </div>
128
+
129
+ </body>
130
+ </html>
@@ -0,0 +1,193 @@
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::XmlHelper</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::XmlHelper</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/erubis/helper_rb.html">
59
+ erubis/helper.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
+ helper for xml
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="#M000006">escape_xml</a>&nbsp;&nbsp;
90
+ <a href="#M000007">h</a>&nbsp;&nbsp;
91
+ <a href="#M000008">html_escape</a>&nbsp;&nbsp;
92
+ </div>
93
+ </div>
94
+
95
+ </div>
96
+
97
+
98
+ <!-- if includes -->
99
+
100
+ <div id="section">
101
+
102
+
103
+ <div id="constants-list">
104
+ <h3 class="section-bar">Constants</h3>
105
+
106
+ <div class="name-list">
107
+ <table summary="Constants">
108
+ <tr class="top-aligned-row context-row">
109
+ <td class="context-item-name">ESCAPE_TABLE</td>
110
+ <td>=</td>
111
+ <td class="context-item-value">{ '&amp;' =&gt; '&amp;amp;', '&lt;' =&gt; '&amp;lt;', '&gt;' =&gt; '&amp;gt;', '&quot;' =&gt; '&amp;quot;', &quot;'&quot; =&gt; '&amp;#039;', }</td>
112
+ </tr>
113
+ </table>
114
+ </div>
115
+ </div>
116
+
117
+
118
+
119
+
120
+
121
+
122
+ <!-- if method_list -->
123
+ <div id="methods">
124
+ <h3 class="section-bar">Public Instance methods</h3>
125
+
126
+ <div id="method-M000006" class="method-detail">
127
+ <a name="M000006"></a>
128
+
129
+ <div class="method-heading">
130
+ <a href="#M000006" class="method-signature">
131
+ <span class="method-name">escape_xml</span><span class="method-args">(obj)</span>
132
+ </a>
133
+ </div>
134
+
135
+ <div class="method-description">
136
+ <p><a class="source-toggle" href="#"
137
+ onclick="toggleCode('M000006-source');return false;">[Source]</a></p>
138
+ <div class="method-source-code" id="M000006-source">
139
+ <pre>
140
+ <span class="ruby-comment cmt"># File erubis/helper.rb, line 25</span>
141
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">escape_xml</span>(<span class="ruby-identifier">obj</span>)
142
+ <span class="ruby-comment cmt">#table = ESCAPE_TABLE</span>
143
+ <span class="ruby-comment cmt">#obj.to_s.gsub(/[&amp;&lt;&gt;&quot;]/) { |s| table[s] } # or /[&amp;&lt;&gt;&quot;']/</span>
144
+ <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/[&amp;&lt;&gt;&quot;]/</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-constant">ESCAPE_TABLE</span>[<span class="ruby-identifier">s</span>] } <span class="ruby-comment cmt"># or /[&amp;&lt;&gt;&quot;']/</span>
145
+ <span class="ruby-comment cmt">#obj.to_s.gsub(SCAN_REGEXP) { |s| ESCAPE_TABLE[s] }</span>
146
+ <span class="ruby-comment cmt">#obj.to_s.gsub(/[&amp;&lt;&gt;&quot;]/) { ESCAPE_TABLE[$&amp;] }</span>
147
+ <span class="ruby-keyword kw">end</span>
148
+ </pre>
149
+ </div>
150
+ </div>
151
+ </div>
152
+
153
+ <div id="method-M000007" class="method-detail">
154
+ <a name="M000007"></a>
155
+
156
+ <div class="method-heading">
157
+ <span class="method-name">h</span><span class="method-args">(obj)</span>
158
+ </div>
159
+
160
+ <div class="method-description">
161
+ <p>
162
+ Alias for <a href="XmlHelper.html#M000006">escape_xml</a>
163
+ </p>
164
+ </div>
165
+ </div>
166
+
167
+ <div id="method-M000008" class="method-detail">
168
+ <a name="M000008"></a>
169
+
170
+ <div class="method-heading">
171
+ <span class="method-name">html_escape</span><span class="method-args">(obj)</span>
172
+ </div>
173
+
174
+ <div class="method-description">
175
+ <p>
176
+ Alias for <a href="XmlHelper.html#M000006">escape_xml</a>
177
+ </p>
178
+ </div>
179
+ </div>
180
+
181
+
182
+ </div>
183
+
184
+
185
+ </div>
186
+
187
+
188
+ <div id="validator-badges">
189
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
190
+ </div>
191
+
192
+ </body>
193
+ </html>
@@ -0,0 +1 @@
1
+ Sat May 20 10:41:34 JST 2006
@@ -0,0 +1,214 @@
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>File: README.txt</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="fileHeader">
50
+ <h1>README.txt</h1>
51
+ <table class="header-table">
52
+ <tr class="top-aligned-row">
53
+ <td><strong>Path:</strong></td>
54
+ <td>../README.txt
55
+ </td>
56
+ </tr>
57
+ <tr class="top-aligned-row">
58
+ <td><strong>Last Update:</strong></td>
59
+ <td>Fri May 19 18:57:42 JST 2006</td>
60
+ </tr>
61
+ </table>
62
+ </div>
63
+ <!-- banner header -->
64
+
65
+ <div id="bodyContent">
66
+
67
+
68
+
69
+ <div id="contextContent">
70
+
71
+ <div id="description">
72
+ <h1>README</h1>
73
+ <table>
74
+ <tr><td valign="top">release:</td><td>$Release: 2.0.0 $
75
+
76
+ </td></tr>
77
+ <tr><td valign="top">copyright:</td><td>copyright(c) 2006 kuwata-lab all rights reserved.
78
+
79
+ </td></tr>
80
+ </table>
81
+ <h2>About <a href="../../classes/Erubis.html">Erubis</a></h2>
82
+ <p>
83
+ <a href="../../classes/Erubis.html">Erubis</a> is an implementation of
84
+ eRuby. It has the following features.
85
+ </p>
86
+ <ul>
87
+ <li>Very fast (about three times faster than ERB and almost as fast as eruby)
88
+
89
+ </li>
90
+ <li>Auto trimming spaces around &#8217;&lt;% %&gt;&#8217;
91
+
92
+ </li>
93
+ <li>Auto escape (sanitizing)
94
+
95
+ </li>
96
+ <li>Changeable embedded pattern (default &#8217;&lt;% %&gt;&#8217;)
97
+
98
+ </li>
99
+ <li>Context object available
100
+
101
+ </li>
102
+ <li>Easy to expand and customize in subclass
103
+
104
+ </li>
105
+ <li>Multi-language support (Ruby/PHP/C/Java/Scheme/Perl/Javascript)
106
+
107
+ </li>
108
+ </ul>
109
+ <p>
110
+ <a href="../../classes/Erubis.html">Erubis</a> is implemented in pure Ruby.
111
+ It requires Ruby 1.8 or higher.
112
+ </p>
113
+ <p>
114
+ See doc/users-guide.html for details.
115
+ </p>
116
+ <h2>Installation</h2>
117
+ <ul>
118
+ <li>If you have installed RubyGems, just type <tt>gem install &#8212;remote
119
+ erubis</tt>.
120
+
121
+ <pre>
122
+ $ sudo gem install --remote erubis
123
+ </pre>
124
+ </li>
125
+ <li>Else install <a href="http://rubyforge.org/projects/abstract/">abstract</a>
126
+ at first, and download erubis_X.X.X.tar.bz2 and install it by setup.rb.
127
+
128
+ <pre>
129
+ $ tar xjf abstract_X.X.X.tar.bz2
130
+ $ cd abstract_X.X.X/
131
+ $ sudo ruby setup.rb
132
+ $ cd ..
133
+ $ tar xjf erubis_X.X.X.tar.bz2
134
+ $ cd erubis_X.X.X/
135
+ $ sudo ruby setup.rb
136
+ </pre>
137
+ </li>
138
+ <li>(Optional) It is able to merge &#8216;lib/**/*.rb&#8217; into
139
+ &#8216;bin/erubis&#8217; by &#8216;contrib/inline-require&#8217; script.
140
+
141
+ <pre>
142
+ $ tar xjf erubis_X.X.X.tar.bz2
143
+ $ cd erubis_X.X.X/
144
+ $ cp /tmp/abstract_X.X.X/lib/abstract.rb lib
145
+ $ unset RUBYLIB
146
+ $ contrib/inline-require -I lib bin/erubis &gt; contrib/erubis
147
+ </pre>
148
+ </li>
149
+ </ul>
150
+ <h2>Exploring Guide</h2>
151
+ <p>
152
+ If you are exploring Eruby, see the following class at first.
153
+ </p>
154
+ <ul>
155
+ <li><a href="../../classes/Erubis/TinyEruby.html">Erubis::TinyEruby</a>
156
+ (erubis/tiny.rb) &#8212; the most simple eRuby implementation.
157
+
158
+ </li>
159
+ <li><a href="../../classes/Erubis/Engine.html">Erubis::Engine</a>
160
+ (erubis/engine.rb) &#8212; base class of Eruby, Ephp, Ejava, and so on.
161
+
162
+ </li>
163
+ <li><a href="../../classes/Erubis/Eruby.html">Erubis::Eruby</a>
164
+ (erubis/engine/eruby.rb) &#8212; engine class for eRuby.
165
+
166
+ </li>
167
+ </ul>
168
+ <h2>Benchmark</h2>
169
+ <p>
170
+ &#8216;benchmark/erubybenchmark.rb&#8217; is a benchmark script of <a
171
+ href="../../classes/Erubis.html">Erubis</a>. Try &#8216;ruby
172
+ erubybenchmark.rb&#8217; in benchmark directory.
173
+ </p>
174
+ <h2>License</h2>
175
+ <p>
176
+ GPL ver.2
177
+ </p>
178
+ <h2>Author</h2>
179
+ <p>
180
+ makoto kuwata &lt;kwa(at)kuwata-lab.com&gt;
181
+ </p>
182
+
183
+ </div>
184
+
185
+
186
+ </div>
187
+
188
+
189
+ </div>
190
+
191
+
192
+ <!-- if includes -->
193
+
194
+ <div id="section">
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+ <!-- if method_list -->
204
+
205
+
206
+ </div>
207
+
208
+
209
+ <div id="validator-badges">
210
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
211
+ </div>
212
+
213
+ </body>
214
+ </html>