erubis 2.3.1 → 2.7.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 (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
@@ -80,16 +80,16 @@
80
80
  <h3 class="section-bar">Methods</h3>
81
81
 
82
82
  <div class="name-list">
83
- <a href="#M000139">add_expr_debug</a>&nbsp;&nbsp;
84
- <a href="#M000138">add_expr_escaped</a>&nbsp;&nbsp;
85
- <a href="#M000137">add_expr_literal</a>&nbsp;&nbsp;
86
- <a href="#M000134">add_indent</a>&nbsp;&nbsp;
87
- <a href="#M000140">add_postamble</a>&nbsp;&nbsp;
88
- <a href="#M000132">add_preamble</a>&nbsp;&nbsp;
89
- <a href="#M000136">add_stmt</a>&nbsp;&nbsp;
90
- <a href="#M000135">add_text</a>&nbsp;&nbsp;
91
- <a href="#M000133">escape_text</a>&nbsp;&nbsp;
92
- <a href="#M000131">init_generator</a>&nbsp;&nbsp;
83
+ <a href="#M000174">add_expr_debug</a>&nbsp;&nbsp;
84
+ <a href="#M000173">add_expr_escaped</a>&nbsp;&nbsp;
85
+ <a href="#M000172">add_expr_literal</a>&nbsp;&nbsp;
86
+ <a href="#M000169">add_indent</a>&nbsp;&nbsp;
87
+ <a href="#M000175">add_postamble</a>&nbsp;&nbsp;
88
+ <a href="#M000167">add_preamble</a>&nbsp;&nbsp;
89
+ <a href="#M000171">add_stmt</a>&nbsp;&nbsp;
90
+ <a href="#M000170">add_text</a>&nbsp;&nbsp;
91
+ <a href="#M000168">escape_text</a>&nbsp;&nbsp;
92
+ <a href="#M000166">init_generator</a>&nbsp;&nbsp;
93
93
  </div>
94
94
  </div>
95
95
 
@@ -118,21 +118,21 @@
118
118
  <div id="methods">
119
119
  <h3 class="section-bar">Public Instance methods</h3>
120
120
 
121
- <div id="method-M000139" class="method-detail">
122
- <a name="M000139"></a>
121
+ <div id="method-M000174" class="method-detail">
122
+ <a name="M000174"></a>
123
123
 
124
124
  <div class="method-heading">
125
- <a href="#M000139" class="method-signature">
125
+ <a href="#M000174" class="method-signature">
126
126
  <span class="method-name">add_expr_debug</span><span class="method-args">(src, code)</span>
127
127
  </a>
128
128
  </div>
129
129
 
130
130
  <div class="method-description">
131
131
  <p><a class="source-toggle" href="#"
132
- onclick="toggleCode('M000139-source');return false;">[Source]</a></p>
133
- <div class="method-source-code" id="M000139-source">
132
+ onclick="toggleCode('M000174-source');return false;">[Source]</a></p>
133
+ <div class="method-source-code" id="M000174-source">
134
134
  <pre>
135
- <span class="ruby-comment cmt"># File erubis/engine/ejavascript.rb, line 71</span>
135
+ <span class="ruby-comment cmt"># File erubis/engine/ejavascript.rb, line 72</span>
136
136
  <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>)
137
137
  <span class="ruby-identifier">add_indent</span>(<span class="ruby-identifier">src</span>, <span class="ruby-ivar">@indent</span>)
138
138
  <span class="ruby-identifier">code</span>.<span class="ruby-identifier">strip!</span>
@@ -143,21 +143,21 @@
143
143
  </div>
144
144
  </div>
145
145
 
146
- <div id="method-M000138" class="method-detail">
147
- <a name="M000138"></a>
146
+ <div id="method-M000173" class="method-detail">
147
+ <a name="M000173"></a>
148
148
 
149
149
  <div class="method-heading">
150
- <a href="#M000138" class="method-signature">
150
+ <a href="#M000173" class="method-signature">
151
151
  <span class="method-name">add_expr_escaped</span><span class="method-args">(src, code)</span>
152
152
  </a>
153
153
  </div>
154
154
 
155
155
  <div class="method-description">
156
156
  <p><a class="source-toggle" href="#"
157
- onclick="toggleCode('M000138-source');return false;">[Source]</a></p>
158
- <div class="method-source-code" id="M000138-source">
157
+ onclick="toggleCode('M000173-source');return false;">[Source]</a></p>
158
+ <div class="method-source-code" id="M000173-source">
159
159
  <pre>
160
- <span class="ruby-comment cmt"># File erubis/engine/ejavascript.rb, line 67</span>
160
+ <span class="ruby-comment cmt"># File erubis/engine/ejavascript.rb, line 68</span>
161
161
  <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>)
162
162
  <span class="ruby-identifier">add_expr_literal</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">escaped_expr</span>(<span class="ruby-identifier">code</span>))
163
163
  <span class="ruby-keyword kw">end</span>
@@ -166,46 +166,46 @@
166
166
  </div>
167
167
  </div>
168
168
 
169
- <div id="method-M000137" class="method-detail">
170
- <a name="M000137"></a>
169
+ <div id="method-M000172" class="method-detail">
170
+ <a name="M000172"></a>
171
171
 
172
172
  <div class="method-heading">
173
- <a href="#M000137" class="method-signature">
173
+ <a href="#M000172" class="method-signature">
174
174
  <span class="method-name">add_expr_literal</span><span class="method-args">(src, code)</span>
175
175
  </a>
176
176
  </div>
177
177
 
178
178
  <div class="method-description">
179
179
  <p><a class="source-toggle" href="#"
180
- onclick="toggleCode('M000137-source');return false;">[Source]</a></p>
181
- <div class="method-source-code" id="M000137-source">
180
+ onclick="toggleCode('M000172-source');return false;">[Source]</a></p>
181
+ <div class="method-source-code" id="M000172-source">
182
182
  <pre>
183
- <span class="ruby-comment cmt"># File erubis/engine/ejavascript.rb, line 61</span>
183
+ <span class="ruby-comment cmt"># File erubis/engine/ejavascript.rb, line 62</span>
184
184
  <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>)
185
185
  <span class="ruby-identifier">add_indent</span>(<span class="ruby-identifier">src</span>, <span class="ruby-ivar">@indent</span>)
186
186
  <span class="ruby-identifier">code</span>.<span class="ruby-identifier">strip!</span>
187
- <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{@buf}.push(#{code});&quot;</span>
187
+ <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{@bufvar}.push(#{code});&quot;</span>
188
188
  <span class="ruby-keyword kw">end</span>
189
189
  </pre>
190
190
  </div>
191
191
  </div>
192
192
  </div>
193
193
 
194
- <div id="method-M000134" class="method-detail">
195
- <a name="M000134"></a>
194
+ <div id="method-M000169" class="method-detail">
195
+ <a name="M000169"></a>
196
196
 
197
197
  <div class="method-heading">
198
- <a href="#M000134" class="method-signature">
198
+ <a href="#M000169" class="method-signature">
199
199
  <span class="method-name">add_indent</span><span class="method-args">(src, indent)</span>
200
200
  </a>
201
201
  </div>
202
202
 
203
203
  <div class="method-description">
204
204
  <p><a class="source-toggle" href="#"
205
- onclick="toggleCode('M000134-source');return false;">[Source]</a></p>
206
- <div class="method-source-code" id="M000134-source">
205
+ onclick="toggleCode('M000169-source');return false;">[Source]</a></p>
206
+ <div class="method-source-code" id="M000169-source">
207
207
  <pre>
208
- <span class="ruby-comment cmt"># File erubis/engine/ejavascript.rb, line 40</span>
208
+ <span class="ruby-comment cmt"># File erubis/engine/ejavascript.rb, line 41</span>
209
209
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_indent</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">indent</span>)
210
210
  <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">src</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">src</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?\n</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">indent</span> <span class="ruby-operator">:</span> <span class="ruby-value str">' '</span>)
211
211
  <span class="ruby-keyword kw">end</span>
@@ -214,68 +214,72 @@
214
214
  </div>
215
215
  </div>
216
216
 
217
- <div id="method-M000140" class="method-detail">
218
- <a name="M000140"></a>
217
+ <div id="method-M000175" class="method-detail">
218
+ <a name="M000175"></a>
219
219
 
220
220
  <div class="method-heading">
221
- <a href="#M000140" class="method-signature">
221
+ <a href="#M000175" class="method-signature">
222
222
  <span class="method-name">add_postamble</span><span class="method-args">(src)</span>
223
223
  </a>
224
224
  </div>
225
225
 
226
226
  <div class="method-description">
227
227
  <p><a class="source-toggle" href="#"
228
- onclick="toggleCode('M000140-source');return false;">[Source]</a></p>
229
- <div class="method-source-code" id="M000140-source">
228
+ onclick="toggleCode('M000175-source');return false;">[Source]</a></p>
229
+ <div class="method-source-code" id="M000175-source">
230
230
  <pre>
231
- <span class="ruby-comment cmt"># File erubis/engine/ejavascript.rb, line 77</span>
231
+ <span class="ruby-comment cmt"># File erubis/engine/ejavascript.rb, line 78</span>
232
232
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_postamble</span>(<span class="ruby-identifier">src</span>)
233
233
  <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">if</span> <span class="ruby-identifier">src</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?;</span>
234
- <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@indent</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'document.write('</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@buf</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;.join(\&quot;\&quot;));\n&quot;</span>
234
+ <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@docwrite</span>
235
+ <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@indent</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'document.write('</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@bufvar</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;.join(\&quot;\&quot;));\n&quot;</span>
236
+ <span class="ruby-keyword kw">else</span>
237
+ <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@indent</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@bufvar</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;.join(\&quot;\&quot;);\n&quot;</span>
238
+ <span class="ruby-keyword kw">end</span>
235
239
  <span class="ruby-keyword kw">end</span>
236
240
  </pre>
237
241
  </div>
238
242
  </div>
239
243
  </div>
240
244
 
241
- <div id="method-M000132" class="method-detail">
242
- <a name="M000132"></a>
245
+ <div id="method-M000167" class="method-detail">
246
+ <a name="M000167"></a>
243
247
 
244
248
  <div class="method-heading">
245
- <a href="#M000132" class="method-signature">
249
+ <a href="#M000167" class="method-signature">
246
250
  <span class="method-name">add_preamble</span><span class="method-args">(src)</span>
247
251
  </a>
248
252
  </div>
249
253
 
250
254
  <div class="method-description">
251
255
  <p><a class="source-toggle" href="#"
252
- onclick="toggleCode('M000132-source');return false;">[Source]</a></p>
253
- <div class="method-source-code" id="M000132-source">
256
+ onclick="toggleCode('M000167-source');return false;">[Source]</a></p>
257
+ <div class="method-source-code" id="M000167-source">
254
258
  <pre>
255
- <span class="ruby-comment cmt"># File erubis/engine/ejavascript.rb, line 31</span>
259
+ <span class="ruby-comment cmt"># File erubis/engine/ejavascript.rb, line 32</span>
256
260
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_preamble</span>(<span class="ruby-identifier">src</span>)
257
- <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{@indent}var #{@buf} = [];&quot;</span>
261
+ <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{@indent}var #{@bufvar} = [];&quot;</span>
258
262
  <span class="ruby-keyword kw">end</span>
259
263
  </pre>
260
264
  </div>
261
265
  </div>
262
266
  </div>
263
267
 
264
- <div id="method-M000136" class="method-detail">
265
- <a name="M000136"></a>
268
+ <div id="method-M000171" class="method-detail">
269
+ <a name="M000171"></a>
266
270
 
267
271
  <div class="method-heading">
268
- <a href="#M000136" class="method-signature">
272
+ <a href="#M000171" class="method-signature">
269
273
  <span class="method-name">add_stmt</span><span class="method-args">(src, code)</span>
270
274
  </a>
271
275
  </div>
272
276
 
273
277
  <div class="method-description">
274
278
  <p><a class="source-toggle" href="#"
275
- onclick="toggleCode('M000136-source');return false;">[Source]</a></p>
276
- <div class="method-source-code" id="M000136-source">
279
+ onclick="toggleCode('M000171-source');return false;">[Source]</a></p>
280
+ <div class="method-source-code" id="M000171-source">
277
281
  <pre>
278
- <span class="ruby-comment cmt"># File erubis/engine/ejavascript.rb, line 57</span>
282
+ <span class="ruby-comment cmt"># File erubis/engine/ejavascript.rb, line 58</span>
279
283
  <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>)
280
284
  <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">code</span>
281
285
  <span class="ruby-keyword kw">end</span>
@@ -284,25 +288,25 @@
284
288
  </div>
285
289
  </div>
286
290
 
287
- <div id="method-M000135" class="method-detail">
288
- <a name="M000135"></a>
291
+ <div id="method-M000170" class="method-detail">
292
+ <a name="M000170"></a>
289
293
 
290
294
  <div class="method-heading">
291
- <a href="#M000135" class="method-signature">
295
+ <a href="#M000170" class="method-signature">
292
296
  <span class="method-name">add_text</span><span class="method-args">(src, text)</span>
293
297
  </a>
294
298
  </div>
295
299
 
296
300
  <div class="method-description">
297
301
  <p><a class="source-toggle" href="#"
298
- onclick="toggleCode('M000135-source');return false;">[Source]</a></p>
299
- <div class="method-source-code" id="M000135-source">
302
+ onclick="toggleCode('M000170-source');return false;">[Source]</a></p>
303
+ <div class="method-source-code" id="M000170-source">
300
304
  <pre>
301
- <span class="ruby-comment cmt"># File erubis/engine/ejavascript.rb, line 44</span>
305
+ <span class="ruby-comment cmt"># File erubis/engine/ejavascript.rb, line 45</span>
302
306
  <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>)
303
307
  <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">text</span>.<span class="ruby-identifier">empty?</span>
304
308
  <span class="ruby-identifier">add_indent</span>(<span class="ruby-identifier">src</span>, <span class="ruby-ivar">@indent</span>)
305
- <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@buf</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'.push(&quot;'</span>
309
+ <span class="ruby-identifier">src</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@bufvar</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'.push(&quot;'</span>
306
310
  <span class="ruby-identifier">s</span> = <span class="ruby-identifier">escape_text</span>(<span class="ruby-identifier">text</span>)
307
311
  <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?\n</span>
308
312
  <span class="ruby-identifier">s</span>[<span class="ruby-value">-2</span>, <span class="ruby-value">2</span>] = <span class="ruby-value str">''</span>
@@ -316,21 +320,21 @@
316
320
  </div>
317
321
  </div>
318
322
 
319
- <div id="method-M000133" class="method-detail">
320
- <a name="M000133"></a>
323
+ <div id="method-M000168" class="method-detail">
324
+ <a name="M000168"></a>
321
325
 
322
326
  <div class="method-heading">
323
- <a href="#M000133" class="method-signature">
327
+ <a href="#M000168" class="method-signature">
324
328
  <span class="method-name">escape_text</span><span class="method-args">(text)</span>
325
329
  </a>
326
330
  </div>
327
331
 
328
332
  <div class="method-description">
329
333
  <p><a class="source-toggle" href="#"
330
- onclick="toggleCode('M000133-source');return false;">[Source]</a></p>
331
- <div class="method-source-code" id="M000133-source">
334
+ onclick="toggleCode('M000168-source');return false;">[Source]</a></p>
335
+ <div class="method-source-code" id="M000168-source">
332
336
  <pre>
333
- <span class="ruby-comment cmt"># File erubis/engine/ejavascript.rb, line 35</span>
337
+ <span class="ruby-comment cmt"># File erubis/engine/ejavascript.rb, line 36</span>
334
338
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">escape_text</span>(<span class="ruby-identifier">text</span>)
335
339
  <span class="ruby-ivar">@@table_</span> <span class="ruby-operator">||=</span> { <span class="ruby-value str">&quot;\r&quot;</span>=<span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;\\r&quot;</span>, <span class="ruby-value str">&quot;\n&quot;</span>=<span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;\\n\\\n&quot;</span>, <span class="ruby-value str">&quot;\t&quot;</span>=<span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;\\t&quot;</span>, <span class="ruby-value str">'&quot;'</span>=<span class="ruby-operator">&gt;</span><span class="ruby-value str">'\\&quot;'</span>, <span class="ruby-value str">&quot;\\&quot;</span>=<span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;\\\\&quot;</span> }
336
340
  <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">text</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/[\r\n\t&quot;\\]/</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@@table_</span>[<span class="ruby-identifier">m</span>] } <span class="ruby-operator">||</span> <span class="ruby-identifier">text</span>
@@ -340,26 +344,27 @@
340
344
  </div>
341
345
  </div>
342
346
 
343
- <div id="method-M000131" class="method-detail">
344
- <a name="M000131"></a>
347
+ <div id="method-M000166" class="method-detail">
348
+ <a name="M000166"></a>
345
349
 
346
350
  <div class="method-heading">
347
- <a href="#M000131" class="method-signature">
351
+ <a href="#M000166" class="method-signature">
348
352
  <span class="method-name">init_generator</span><span class="method-args">(properties={})</span>
349
353
  </a>
350
354
  </div>
351
355
 
352
356
  <div class="method-description">
353
357
  <p><a class="source-toggle" href="#"
354
- onclick="toggleCode('M000131-source');return false;">[Source]</a></p>
355
- <div class="method-source-code" id="M000131-source">
358
+ onclick="toggleCode('M000166-source');return false;">[Source]</a></p>
359
+ <div class="method-source-code" id="M000166-source">
356
360
  <pre>
357
361
  <span class="ruby-comment cmt"># File erubis/engine/ejavascript.rb, line 24</span>
358
362
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">init_generator</span>(<span class="ruby-identifier">properties</span>={})
359
363
  <span class="ruby-keyword kw">super</span>
360
364
  <span class="ruby-ivar">@escapefunc</span> <span class="ruby-operator">||=</span> <span class="ruby-value str">'escape'</span>
361
365
  <span class="ruby-ivar">@indent</span> = <span class="ruby-identifier">properties</span>[<span class="ruby-identifier">:indent</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>
362
- <span class="ruby-ivar">@buf</span> = <span class="ruby-identifier">properties</span>[<span class="ruby-identifier">:out</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">'_buf'</span>
366
+ <span class="ruby-ivar">@bufvar</span> = <span class="ruby-identifier">properties</span>[<span class="ruby-identifier">:bufvar</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">'_buf'</span>
367
+ <span class="ruby-ivar">@docwrite</span> = <span class="ruby-identifier">properties</span>[<span class="ruby-identifier">:docwrite</span>] <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">false</span> <span class="ruby-comment cmt"># '!= false' will be removed in the next release</span>
363
368
  <span class="ruby-keyword kw">end</span>
364
369
  </pre>
365
370
  </div>
@@ -80,7 +80,7 @@
80
80
 
81
81
  <div id="description">
82
82
  <p>
83
- <a href="Main.html#M000171">main</a> class of command
83
+ <a href="Main.html#M000228">main</a> class of command
84
84
  </p>
85
85
  <p>
86
86
  ex.
@@ -98,9 +98,9 @@ ex.
98
98
  <h3 class="section-bar">Methods</h3>
99
99
 
100
100
  <div class="name-list">
101
- <a href="#M000173">execute</a>&nbsp;&nbsp;
102
- <a href="#M000171">main</a>&nbsp;&nbsp;
103
- <a href="#M000172">new</a>&nbsp;&nbsp;
101
+ <a href="#M000230">execute</a>&nbsp;&nbsp;
102
+ <a href="#M000228">main</a>&nbsp;&nbsp;
103
+ <a href="#M000229">new</a>&nbsp;&nbsp;
104
104
  </div>
105
105
  </div>
106
106
 
@@ -122,19 +122,19 @@ ex.
122
122
  <div id="methods">
123
123
  <h3 class="section-bar">Public Class methods</h3>
124
124
 
125
- <div id="method-M000171" class="method-detail">
126
- <a name="M000171"></a>
125
+ <div id="method-M000228" class="method-detail">
126
+ <a name="M000228"></a>
127
127
 
128
128
  <div class="method-heading">
129
- <a href="#M000171" class="method-signature">
129
+ <a href="#M000228" class="method-signature">
130
130
  <span class="method-name">main</span><span class="method-args">(argv=ARGV)</span>
131
131
  </a>
132
132
  </div>
133
133
 
134
134
  <div class="method-description">
135
135
  <p><a class="source-toggle" href="#"
136
- onclick="toggleCode('M000171-source');return false;">[Source]</a></p>
137
- <div class="method-source-code" id="M000171-source">
136
+ onclick="toggleCode('M000228-source');return false;">[Source]</a></p>
137
+ <div class="method-source-code" id="M000228-source">
138
138
  <pre>
139
139
  <span class="ruby-comment cmt"># File erubis/main.rb, line 40</span>
140
140
  <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">main</span>(<span class="ruby-identifier">argv</span>=<span class="ruby-constant">ARGV</span>)
@@ -152,53 +152,53 @@ ex.
152
152
  </div>
153
153
  </div>
154
154
 
155
- <div id="method-M000172" class="method-detail">
156
- <a name="M000172"></a>
155
+ <div id="method-M000229" class="method-detail">
156
+ <a name="M000229"></a>
157
157
 
158
158
  <div class="method-heading">
159
- <a href="#M000172" class="method-signature">
159
+ <a href="#M000229" class="method-signature">
160
160
  <span class="method-name">new</span><span class="method-args">()</span>
161
161
  </a>
162
162
  </div>
163
163
 
164
164
  <div class="method-description">
165
165
  <p><a class="source-toggle" href="#"
166
- onclick="toggleCode('M000172-source');return false;">[Source]</a></p>
167
- <div class="method-source-code" id="M000172-source">
166
+ onclick="toggleCode('M000229-source');return false;">[Source]</a></p>
167
+ <div class="method-source-code" id="M000229-source">
168
168
  <pre>
169
169
  <span class="ruby-comment cmt"># File erubis/main.rb, line 51</span>
170
170
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
171
171
  <span class="ruby-ivar">@single_options</span> = <span class="ruby-value str">&quot;hvxztTSbeBXNUC&quot;</span>
172
172
  <span class="ruby-ivar">@arg_options</span> = <span class="ruby-value str">&quot;pcrfKIlaE&quot;</span> <span class="ruby-comment cmt">#C</span>
173
173
  <span class="ruby-ivar">@option_names</span> = {
174
- <span class="ruby-value">?h</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:help</span>,
175
- <span class="ruby-value">?v</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:version</span>,
176
- <span class="ruby-value">?x</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:source</span>,
177
- <span class="ruby-value">?z</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:syntax</span>,
178
- <span class="ruby-value">?T</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:unexpand</span>,
179
- <span class="ruby-value">?t</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:untabify</span>, <span class="ruby-comment cmt"># obsolete</span>
180
- <span class="ruby-value">?S</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:intern</span>,
181
- <span class="ruby-value">?b</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:bodyonly</span>,
182
- <span class="ruby-value">?B</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:binding</span>,
183
- <span class="ruby-value">?p</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:pattern</span>,
184
- <span class="ruby-value">?c</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:context</span>,
185
- <span class="ruby-comment cmt">#?C =&gt; :class,</span>
186
- <span class="ruby-value">?e</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:escape</span>,
187
- <span class="ruby-value">?r</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:requires</span>,
188
- <span class="ruby-value">?f</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:datafiles</span>,
189
- <span class="ruby-value">?K</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:kanji</span>,
190
- <span class="ruby-value">?I</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:includes</span>,
191
- <span class="ruby-value">?l</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:lang</span>,
192
- <span class="ruby-value">?a</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:action</span>,
193
- <span class="ruby-value">?E</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:enhancers</span>,
194
- <span class="ruby-value">?X</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:notext</span>,
195
- <span class="ruby-value">?N</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:linenum</span>,
196
- <span class="ruby-value">?U</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:unique</span>,
197
- <span class="ruby-value">?C</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:compact</span>,
174
+ <span class="ruby-value str">'h'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:help</span>,
175
+ <span class="ruby-value str">'v'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:version</span>,
176
+ <span class="ruby-value str">'x'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:source</span>,
177
+ <span class="ruby-value str">'z'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:syntax</span>,
178
+ <span class="ruby-value str">'T'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:unexpand</span>,
179
+ <span class="ruby-value str">'t'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:untabify</span>, <span class="ruby-comment cmt"># obsolete</span>
180
+ <span class="ruby-value str">'S'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:intern</span>,
181
+ <span class="ruby-value str">'b'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:bodyonly</span>,
182
+ <span class="ruby-value str">'B'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:binding</span>,
183
+ <span class="ruby-value str">'p'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:pattern</span>,
184
+ <span class="ruby-value str">'c'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:context</span>,
185
+ <span class="ruby-comment cmt">#'C' =&gt; :class,</span>
186
+ <span class="ruby-value str">'e'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:escape</span>,
187
+ <span class="ruby-value str">'r'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:requires</span>,
188
+ <span class="ruby-value str">'f'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:datafiles</span>,
189
+ <span class="ruby-value str">'K'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:kanji</span>,
190
+ <span class="ruby-value str">'I'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:includes</span>,
191
+ <span class="ruby-value str">'l'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:lang</span>,
192
+ <span class="ruby-value str">'a'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:action</span>,
193
+ <span class="ruby-value str">'E'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:enhancers</span>,
194
+ <span class="ruby-value str">'X'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:notext</span>,
195
+ <span class="ruby-value str">'N'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:linenum</span>,
196
+ <span class="ruby-value str">'U'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:unique</span>,
197
+ <span class="ruby-value str">'C'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:compact</span>,
198
198
  }
199
199
  <span class="ruby-identifier">assert</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@single_options</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@arg_options</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@option_names</span>.<span class="ruby-identifier">length</span>
200
200
  (<span class="ruby-ivar">@single_options</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@arg_options</span>).<span class="ruby-identifier">each_byte</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ch</span><span class="ruby-operator">|</span>
201
- <span class="ruby-identifier">assert</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@option_names</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">ch</span>)
201
+ <span class="ruby-identifier">assert</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@option_names</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">ch</span>.<span class="ruby-identifier">chr</span>)
202
202
  <span class="ruby-keyword kw">end</span>
203
203
  <span class="ruby-keyword kw">end</span>
204
204
  </pre>
@@ -208,28 +208,28 @@ ex.
208
208
 
209
209
  <h3 class="section-bar">Public Instance methods</h3>
210
210
 
211
- <div id="method-M000173" class="method-detail">
212
- <a name="M000173"></a>
211
+ <div id="method-M000230" class="method-detail">
212
+ <a name="M000230"></a>
213
213
 
214
214
  <div class="method-heading">
215
- <a href="#M000173" class="method-signature">
215
+ <a href="#M000230" class="method-signature">
216
216
  <span class="method-name">execute</span><span class="method-args">(argv=ARGV)</span>
217
217
  </a>
218
218
  </div>
219
219
 
220
220
  <div class="method-description">
221
221
  <p><a class="source-toggle" href="#"
222
- onclick="toggleCode('M000173-source');return false;">[Source]</a></p>
223
- <div class="method-source-code" id="M000173-source">
222
+ onclick="toggleCode('M000230-source');return false;">[Source]</a></p>
223
+ <div class="method-source-code" id="M000230-source">
224
224
  <pre>
225
225
  <span class="ruby-comment cmt"># File erubis/main.rb, line 87</span>
226
226
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">execute</span>(<span class="ruby-identifier">argv</span>=<span class="ruby-constant">ARGV</span>)
227
227
  <span class="ruby-comment cmt">## parse command-line options</span>
228
228
  <span class="ruby-identifier">options</span>, <span class="ruby-identifier">properties</span> = <span class="ruby-identifier">parse_argv</span>(<span class="ruby-identifier">argv</span>, <span class="ruby-ivar">@single_options</span>, <span class="ruby-ivar">@arg_options</span>)
229
229
  <span class="ruby-identifier">filenames</span> = <span class="ruby-identifier">argv</span>
230
- <span class="ruby-identifier">options</span>[<span class="ruby-value">?h</span>] = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">properties</span>[<span class="ruby-identifier">:help</span>]
230
+ <span class="ruby-identifier">options</span>[<span class="ruby-value str">'h'</span>] = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">properties</span>[<span class="ruby-identifier">:help</span>]
231
231
  <span class="ruby-identifier">opts</span> = <span class="ruby-constant">Object</span>.<span class="ruby-identifier">new</span>
232
- <span class="ruby-identifier">arr</span> = <span class="ruby-ivar">@option_names</span>.<span class="ruby-identifier">collect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">ch</span>, <span class="ruby-identifier">name</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot;def #{name}; @#{name}; end\n&quot;</span> }
232
+ <span class="ruby-identifier">arr</span> = <span class="ruby-ivar">@option_names</span>.<span class="ruby-identifier">collect</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">ch</span>, <span class="ruby-identifier">name</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot;def #{name}; @#{name}; end\n&quot;</span> }
233
233
  <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">instance_eval</span> <span class="ruby-identifier">arr</span>.<span class="ruby-identifier">join</span>
234
234
  <span class="ruby-identifier">options</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ch</span>, <span class="ruby-identifier">val</span><span class="ruby-operator">|</span>
235
235
  <span class="ruby-identifier">name</span> = <span class="ruby-ivar">@option_names</span>[<span class="ruby-identifier">ch</span>]
@@ -305,14 +305,15 @@ ex.
305
305
  <span class="ruby-identifier">msg</span> = <span class="ruby-value str">&quot;Syntax OK\n&quot;</span>
306
306
  <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">filenames</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">filenames</span>.<span class="ruby-identifier">empty?</span>
307
307
  <span class="ruby-identifier">filenames</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">filename</span><span class="ruby-operator">|</span>
308
- <span class="ruby-identifier">test</span>(<span class="ruby-value">?f</span>, <span class="ruby-identifier">filename</span>) <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">CommandOptionError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{filename}: file not found.&quot;</span>)
308
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">file?</span>(<span class="ruby-identifier">filename</span>) <span class="ruby-keyword kw">or</span>
309
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">CommandOptionError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{filename}: file not found.&quot;</span>)
309
310
  <span class="ruby-identifier">engine</span>.<span class="ruby-identifier">filename</span> = <span class="ruby-identifier">filename</span>
310
311
  <span class="ruby-identifier">engine</span>.<span class="ruby-identifier">convert!</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">filename</span>))
311
312
  <span class="ruby-identifier">val</span> = <span class="ruby-identifier">do_action</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">engine</span>, <span class="ruby-identifier">context</span>, <span class="ruby-identifier">filename</span>, <span class="ruby-identifier">opts</span>)
312
313
  <span class="ruby-identifier">msg</span> = <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">val</span>
313
314
  <span class="ruby-keyword kw">end</span>
314
315
  <span class="ruby-keyword kw">else</span>
315
- <span class="ruby-identifier">engine</span>.<span class="ruby-identifier">filename</span> = <span class="ruby-value str">'(stdin)'</span>
316
+ <span class="ruby-identifier">engine</span>.<span class="ruby-identifier">filename</span> = <span class="ruby-identifier">filename</span> = <span class="ruby-value str">'(stdin)'</span>
316
317
  <span class="ruby-identifier">engine</span>.<span class="ruby-identifier">convert!</span>(<span class="ruby-identifier">$stdin</span>.<span class="ruby-identifier">read</span>())
317
318
  <span class="ruby-identifier">val</span> = <span class="ruby-identifier">do_action</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">engine</span>, <span class="ruby-identifier">context</span>, <span class="ruby-identifier">filename</span>, <span class="ruby-identifier">opts</span>)
318
319
  <span class="ruby-identifier">msg</span> = <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">val</span>