erubis 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. data/CHANGES +120 -3
  2. data/README.txt +1 -1
  3. data/benchmark/Makefile +6 -0
  4. data/benchmark/bench.rb +306 -0
  5. data/benchmark/{erubybench.yaml → bench_context.yaml} +20 -20
  6. data/benchmark/templates/_footer.html +4 -0
  7. data/benchmark/{erubybench.rhtml → templates/_header.html} +1 -34
  8. data/benchmark/templates/bench_erb.rhtml +29 -0
  9. data/benchmark/templates/bench_erubis.rhtml +29 -0
  10. data/benchmark/templates/bench_eruby.rhtml +29 -0
  11. data/bin/erubis +2 -2
  12. data/contrib/erubis +3 -3114
  13. data/contrib/erubis-run.rb +132 -0
  14. data/contrib/inline-require +1 -1
  15. data/doc-api/classes/{ERB.html → ActionView/Base/ERB.html} +3 -3
  16. data/doc-api/classes/Erubis.html +8 -1
  17. data/doc-api/classes/Erubis/ArrayEnhancer.html +12 -12
  18. data/doc-api/classes/Erubis/Basic/Converter.html +24 -24
  19. data/doc-api/classes/Erubis/BiPatternEnhancer.html +14 -14
  20. data/doc-api/classes/Erubis/CGenerator.html +60 -60
  21. data/doc-api/classes/Erubis/Context.html +42 -42
  22. data/doc-api/classes/Erubis/Converter.html +27 -27
  23. data/doc-api/classes/Erubis/DeleteIndentEnhancer.html +150 -0
  24. data/doc-api/classes/Erubis/DeleteIndentEruby.html +120 -0
  25. data/doc-api/classes/Erubis/Engine.html +31 -31
  26. data/doc-api/classes/Erubis/ErboutEnhancer.html +175 -0
  27. data/doc-api/classes/Erubis/ErboutEruby.html +120 -0
  28. data/doc-api/classes/Erubis/Eruby.html +5 -0
  29. data/doc-api/classes/Erubis/EscapeEnhancer.html +6 -6
  30. data/doc-api/classes/Erubis/Evaluator.html +19 -19
  31. data/doc-api/classes/Erubis/FastEruby.html +131 -0
  32. data/doc-api/classes/Erubis/HeaderFooterEnhancer.html +14 -14
  33. data/doc-api/classes/Erubis/Helpers/RailsHelper.html +49 -45
  34. data/doc-api/classes/Erubis/InterpolationEnhancer.html +304 -0
  35. data/doc-api/classes/Erubis/InterpolationEruby.html +120 -0
  36. data/doc-api/classes/Erubis/JavaGenerator.html +54 -54
  37. data/doc-api/classes/Erubis/JavascriptGenerator.html +60 -60
  38. data/doc-api/classes/Erubis/Main.html +35 -27
  39. data/doc-api/classes/Erubis/NoCodeEnhancer.html +5 -5
  40. data/doc-api/classes/Erubis/NoTextEnhancer.html +7 -7
  41. data/doc-api/classes/Erubis/OptimizedEruby.html +6 -6
  42. data/doc-api/classes/Erubis/OptimizedGenerator.html +72 -72
  43. data/doc-api/classes/Erubis/OptimizedXmlEruby.html +6 -6
  44. data/doc-api/classes/Erubis/PI/Converter.html +18 -18
  45. data/doc-api/classes/Erubis/PI/Ec.html +6 -6
  46. data/doc-api/classes/Erubis/PI/Ejava.html +6 -6
  47. data/doc-api/classes/Erubis/PI/Ejavascript.html +6 -6
  48. data/doc-api/classes/Erubis/PI/Eperl.html +6 -6
  49. data/doc-api/classes/Erubis/PI/Ephp.html +6 -6
  50. data/doc-api/classes/Erubis/PI/Eruby.html +7 -7
  51. data/doc-api/classes/Erubis/PI/Escheme.html +6 -6
  52. data/doc-api/classes/Erubis/PI/TinyEruby.html +24 -24
  53. data/doc-api/classes/Erubis/PercentLineEnhancer.html +8 -8
  54. data/doc-api/classes/Erubis/PerlGenerator.html +54 -54
  55. data/doc-api/classes/Erubis/PhpGenerator.html +54 -54
  56. data/doc-api/classes/Erubis/PrintEnabledEnhancer.html +20 -20
  57. data/doc-api/classes/Erubis/PrintOutEnhancer.html +30 -30
  58. data/doc-api/classes/Erubis/RubyEvaluator.html +12 -12
  59. data/doc-api/classes/Erubis/RubyGenerator.html +48 -48
  60. data/doc-api/classes/Erubis/SchemeGenerator.html +60 -60
  61. data/doc-api/classes/Erubis/SimplifyEnhancer.html +8 -8
  62. data/doc-api/classes/Erubis/StdoutEnhancer.html +12 -12
  63. data/doc-api/classes/Erubis/StringBufferEnhancer.html +12 -12
  64. data/doc-api/classes/Erubis/TinyEruby.html +24 -24
  65. data/doc-api/classes/Erubis/XmlHelper.html +14 -14
  66. data/doc-api/created.rid +1 -1
  67. data/doc-api/files/README_txt.html +4 -4
  68. data/doc-api/files/erubis/context_rb.html +2 -2
  69. data/doc-api/files/erubis/converter_rb.html +2 -2
  70. data/doc-api/files/erubis/engine/ec_rb.html +2 -2
  71. data/doc-api/files/erubis/engine/ejava_rb.html +2 -2
  72. data/doc-api/files/erubis/engine/ejavascript_rb.html +2 -2
  73. data/doc-api/files/erubis/engine/enhanced_rb.html +2 -2
  74. data/doc-api/files/erubis/engine/eperl_rb.html +2 -2
  75. data/doc-api/files/erubis/engine/ephp_rb.html +2 -2
  76. data/doc-api/files/erubis/engine/eruby_rb.html +2 -2
  77. data/doc-api/files/erubis/engine/escheme_rb.html +2 -2
  78. data/doc-api/files/erubis/engine/optimized_rb.html +2 -2
  79. data/doc-api/files/erubis/engine_rb.html +2 -2
  80. data/doc-api/files/erubis/enhancer_rb.html +2 -2
  81. data/doc-api/files/erubis/error_rb.html +2 -2
  82. data/doc-api/files/erubis/evaluator_rb.html +2 -2
  83. data/doc-api/files/erubis/generator_rb.html +2 -2
  84. data/doc-api/files/erubis/helper_rb.html +2 -2
  85. data/doc-api/files/erubis/helpers/rails_helper_rb.html +2 -2
  86. data/doc-api/files/erubis/local-setting_rb.html +2 -2
  87. data/doc-api/files/erubis/main_rb.html +2 -2
  88. data/doc-api/files/erubis/tiny_rb.html +2 -2
  89. data/doc-api/files/erubis_rb.html +1 -1
  90. data/doc-api/fr_class_index.html +8 -1
  91. data/doc-api/fr_method_index.html +166 -158
  92. data/doc/users-guide.html +623 -215
  93. data/lib/erubis.rb +2 -2
  94. data/lib/erubis/context.rb +2 -2
  95. data/lib/erubis/converter.rb +2 -2
  96. data/lib/erubis/engine.rb +3 -3
  97. data/lib/erubis/engine/ec.rb +2 -2
  98. data/lib/erubis/engine/ejava.rb +2 -2
  99. data/lib/erubis/engine/ejavascript.rb +2 -2
  100. data/lib/erubis/engine/enhanced.rb +17 -2
  101. data/lib/erubis/engine/eperl.rb +2 -2
  102. data/lib/erubis/engine/ephp.rb +2 -2
  103. data/lib/erubis/engine/eruby.rb +10 -2
  104. data/lib/erubis/engine/escheme.rb +2 -2
  105. data/lib/erubis/engine/optimized.rb +2 -2
  106. data/lib/erubis/enhancer.rb +134 -25
  107. data/lib/erubis/error.rb +2 -2
  108. data/lib/erubis/evaluator.rb +2 -2
  109. data/lib/erubis/generator.rb +2 -2
  110. data/lib/erubis/helper.rb +2 -2
  111. data/lib/erubis/helpers/rails_helper.rb +19 -75
  112. data/lib/erubis/local-setting.rb +2 -2
  113. data/lib/erubis/main.rb +63 -36
  114. data/lib/erubis/tiny.rb +2 -2
  115. data/test/assert-text-equal.rb +2 -2
  116. data/test/data/users-guide/Example.ejava +55 -0
  117. data/test/data/users-guide/array_example.result +9 -0
  118. data/test/data/users-guide/arraybuffer_example.result +9 -0
  119. data/test/data/users-guide/bipattern-example.rhtml +4 -0
  120. data/test/data/users-guide/bipattern_example.result +6 -0
  121. data/test/data/users-guide/context.rb +6 -0
  122. data/test/data/users-guide/context.yaml +8 -0
  123. data/test/data/users-guide/escape_example.result +9 -0
  124. data/test/data/users-guide/example.ec +27 -0
  125. data/test/data/users-guide/example.ejs +20 -0
  126. data/test/data/users-guide/example.eperl +18 -0
  127. data/test/data/users-guide/example.ephp +18 -0
  128. data/test/data/users-guide/example.eruby +6 -0
  129. data/test/data/users-guide/example.escheme +28 -0
  130. data/test/data/users-guide/example1.eruby +6 -0
  131. data/test/data/users-guide/example1.rb +16 -0
  132. data/test/data/users-guide/example1.result +16 -0
  133. data/test/data/users-guide/example10.rb +4 -0
  134. data/test/data/users-guide/example10.result +17 -0
  135. data/test/data/users-guide/example10.xhtml +14 -0
  136. data/test/data/users-guide/example10_x.result +17 -0
  137. data/test/data/users-guide/example11.php +20 -0
  138. data/test/data/users-guide/example11.result +23 -0
  139. data/test/data/users-guide/example11.rhtml +21 -0
  140. data/test/data/users-guide/example11_C.result +10 -0
  141. data/test/data/users-guide/example11_N.result +16 -0
  142. data/test/data/users-guide/example11_U.result +16 -0
  143. data/test/data/users-guide/example11_php.result +15 -0
  144. data/test/data/users-guide/example1_x.result +9 -0
  145. data/test/data/users-guide/example2.eruby +7 -0
  146. data/test/data/users-guide/example2.rb +10 -0
  147. data/test/data/users-guide/example2.result +27 -0
  148. data/test/data/users-guide/example2_trim.result +10 -0
  149. data/test/data/users-guide/example2_x.result +10 -0
  150. data/test/data/users-guide/example3.eruby +6 -0
  151. data/test/data/users-guide/example3.rb +10 -0
  152. data/test/data/users-guide/example31.result +22 -0
  153. data/test/data/users-guide/example32.result +4 -0
  154. data/test/data/users-guide/example3_e.result +8 -0
  155. data/test/data/users-guide/example4.eruby +3 -0
  156. data/test/data/users-guide/example4.rb +11 -0
  157. data/test/data/users-guide/example4.result +10 -0
  158. data/test/data/users-guide/example4_x.result +5 -0
  159. data/test/data/users-guide/example5.eruby +6 -0
  160. data/test/data/users-guide/example5.rb +16 -0
  161. data/test/data/users-guide/example5.result +7 -0
  162. data/test/data/users-guide/example6.rb +12 -0
  163. data/test/data/users-guide/example6.result +7 -0
  164. data/test/data/users-guide/example7.eruby +8 -0
  165. data/test/data/users-guide/example71.result +13 -0
  166. data/test/data/users-guide/example72.result +13 -0
  167. data/test/data/users-guide/example8.eruby +6 -0
  168. data/test/data/users-guide/example8_ruby.result +7 -0
  169. data/test/data/users-guide/example8_yaml.result +7 -0
  170. data/test/data/users-guide/example9.eruby +3 -0
  171. data/test/data/users-guide/example9.rb +8 -0
  172. data/test/data/users-guide/example9.result +9 -0
  173. data/test/data/users-guide/example91.result +5 -0
  174. data/test/data/users-guide/example92.result +4 -0
  175. data/test/data/users-guide/example_c.result +29 -0
  176. data/test/data/users-guide/example_java.result +56 -0
  177. data/test/data/users-guide/example_js.result +22 -0
  178. data/test/data/users-guide/example_perl.result +20 -0
  179. data/test/data/users-guide/example_php.result +19 -0
  180. data/test/data/users-guide/example_scheme.result +30 -0
  181. data/test/data/users-guide/example_scheme_display.result +29 -0
  182. data/test/data/users-guide/fasteruby.rb +11 -0
  183. data/test/data/users-guide/fasteruby.result +38 -0
  184. data/test/data/users-guide/fasteruby.rhtml +15 -0
  185. data/test/data/users-guide/headerfooter-example.eruby +9 -0
  186. data/test/data/users-guide/headerfooter-example2.rb +8 -0
  187. data/test/data/users-guide/headerfooter-example2.rhtml +10 -0
  188. data/test/data/users-guide/headerfooter_example.result +11 -0
  189. data/test/data/users-guide/headerfooter_example2.result +13 -0
  190. data/test/data/users-guide/interpolation_example.result +9 -0
  191. data/test/data/users-guide/nocode-example.eruby +14 -0
  192. data/test/data/users-guide/nocode-php.result +20 -0
  193. data/test/data/users-guide/nocode_example.result +15 -0
  194. data/test/data/users-guide/normal-eruby-test.eruby +9 -0
  195. data/test/data/users-guide/normal_eruby_test.result +11 -0
  196. data/test/data/users-guide/notext-example.eruby +14 -0
  197. data/test/data/users-guide/notext-example.php +19 -0
  198. data/test/data/users-guide/notext-php.result +20 -0
  199. data/test/data/users-guide/notext_example.result +16 -0
  200. data/test/data/users-guide/percentline-example.rhtml +4 -0
  201. data/test/data/users-guide/percentline_example.result +7 -0
  202. data/test/data/users-guide/printenable_example.result +4 -0
  203. data/test/data/users-guide/printenabled-example.eruby +3 -0
  204. data/test/data/users-guide/printenabled-example.rb +8 -0
  205. data/test/data/users-guide/printstatement_example.result +8 -0
  206. data/test/data/users-guide/simplify_example.result +9 -0
  207. data/test/data/users-guide/stdout_exmple.result +9 -0
  208. data/test/data/users-guide/stringbuffer_example.result +9 -0
  209. data/test/test-engines.rb +2 -2
  210. data/test/test-enhancers.rb +569 -0
  211. data/test/test-erubis.rb +3 -380
  212. data/test/test-main.rb +39 -15
  213. data/test/test-users-guide.rb +56 -0
  214. data/test/test.rb +4 -3
  215. data/test/testutil.rb +2 -2
  216. metadata +166 -57
  217. data/benchmark/erubybench-lib.rb +0 -189
  218. data/benchmark/erubybench.rb +0 -600
  219. data/bin/notext +0 -154
  220. data/test/test-notext.rb +0 -27
@@ -0,0 +1,56 @@
1
+ ###
2
+ ### $Rev: 77 $
3
+ ### $Release: 2.3.0 $
4
+ ### copyright(c) 2006-2007 kuwata-lab all rights reserved.
5
+ ###
6
+
7
+ require "#{File.dirname(__FILE__)}/test.rb"
8
+
9
+
10
+ class KwarkUsersGuideTest < Test::Unit::TestCase
11
+
12
+ DIR = File.expand_path(File.dirname(__FILE__) + '/data/users-guide')
13
+ CWD = Dir.pwd()
14
+
15
+
16
+ def setup
17
+ Dir.chdir DIR
18
+ end
19
+
20
+
21
+ def teardown
22
+ Dir.chdir CWD
23
+ end
24
+
25
+
26
+ def _test
27
+ @name = (caller()[0] =~ /`(.*?)'/) && $1
28
+ s = File.read(@filename)
29
+ s =~ /\A\$ (.*?)\n/
30
+ command = $1
31
+ expected = $'
32
+ result = `#{command}`
33
+ assert_text_equal(expected, result)
34
+ end
35
+
36
+
37
+ Dir.chdir DIR do
38
+ filenames = []
39
+ filenames += Dir.glob('*.result')
40
+ filenames += Dir.glob('*.source')
41
+ filenames.each do |filename|
42
+ name = filename.gsub(/[^\w]/, '_')
43
+ s = <<-END
44
+ def test_#{name}
45
+ # $stderr.puts "*** debug: test_#{name}"
46
+ @name = '#{name}'
47
+ @filename = '#{filename}'
48
+ _test()
49
+ end
50
+ END
51
+ eval s
52
+ end
53
+ end
54
+
55
+
56
+ end
@@ -1,6 +1,6 @@
1
1
  ##
2
- ## $Rev: 30 $
3
- ## $Release: 2.2.0 $
2
+ ## $Rev: 77 $
3
+ ## $Release: 2.3.0 $
4
4
  ## copyright(c) 2006-2007 kuwata-lab all rights reserved.
5
5
  ##
6
6
 
@@ -24,6 +24,7 @@ require 'erubis'
24
24
  if $0 == __FILE__
25
25
  require "#{TESTDIR}/test-erubis.rb"
26
26
  require "#{TESTDIR}/test-engines.rb"
27
+ require "#{TESTDIR}/test-enhancers.rb"
27
28
  require "#{TESTDIR}/test-main.rb"
28
- require "#{TESTDIR}/test-notext.rb"
29
+ require "#{TESTDIR}/test-users-guide.rb"
29
30
  end
@@ -1,6 +1,6 @@
1
1
  ###
2
- ### $Rev: 30 $
3
- ### $Release: 2.2.0 $
2
+ ### $Rev: 77 $
3
+ ### $Release: 2.3.0 $
4
4
  ### copyright(c) 2006-2007 kuwata-lab all rights reserved.
5
5
  ###
6
6
 
metadata CHANGED
@@ -1,10 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.8.11
2
+ rubygems_version: 0.9.2
3
3
  specification_version: 1
4
4
  name: erubis
5
5
  version: !ruby/object:Gem::Version
6
- version: 2.2.0
7
- date: 2007-02-12 00:00:00 +09:00
6
+ version: 2.3.0
7
+ date: 2007-05-23 00:00:00 +09:00
8
8
  summary: a fast and extensible eRuby implementation which supports multi-language
9
9
  require_paths:
10
10
  - lib
@@ -25,24 +25,14 @@ required_ruby_version: !ruby/object:Gem::Version::Requirement
25
25
  platform: ruby
26
26
  signing_key:
27
27
  cert_chain:
28
+ post_install_message:
28
29
  authors:
29
30
  - makoto kuwata
30
31
  files:
31
32
  - lib/erubis
32
- - lib/erubis.rb
33
33
  - lib/erubis/context.rb
34
34
  - lib/erubis/converter.rb
35
35
  - lib/erubis/engine
36
- - lib/erubis/engine.rb
37
- - lib/erubis/enhancer.rb
38
- - lib/erubis/error.rb
39
- - lib/erubis/evaluator.rb
40
- - lib/erubis/generator.rb
41
- - lib/erubis/helper.rb
42
- - lib/erubis/helpers
43
- - lib/erubis/local-setting.rb
44
- - lib/erubis/main.rb
45
- - lib/erubis/tiny.rb
46
36
  - lib/erubis/engine/ec.rb
47
37
  - lib/erubis/engine/ejava.rb
48
38
  - lib/erubis/engine/ejavascript.rb
@@ -52,11 +42,20 @@ files:
52
42
  - lib/erubis/engine/eruby.rb
53
43
  - lib/erubis/engine/escheme.rb
54
44
  - lib/erubis/engine/optimized.rb
45
+ - lib/erubis/engine.rb
46
+ - lib/erubis/enhancer.rb
47
+ - lib/erubis/error.rb
48
+ - lib/erubis/evaluator.rb
49
+ - lib/erubis/generator.rb
50
+ - lib/erubis/helper.rb
51
+ - lib/erubis/helpers
55
52
  - lib/erubis/helpers/rails_helper.rb
53
+ - lib/erubis/local-setting.rb
54
+ - lib/erubis/main.rb
55
+ - lib/erubis/tiny.rb
56
+ - lib/erubis.rb
56
57
  - bin/erubis
57
- - bin/notext
58
58
  - examples/basic
59
- - examples/pi
60
59
  - examples/basic/example.ec
61
60
  - examples/basic/example.ejava
62
61
  - examples/basic/example.ejs
@@ -65,6 +64,7 @@ files:
65
64
  - examples/basic/example.eruby
66
65
  - examples/basic/example.escheme
67
66
  - examples/basic/Makefile
67
+ - examples/pi
68
68
  - examples/pi/example.ec
69
69
  - examples/pi/example.ejava
70
70
  - examples/pi/example.ejs
@@ -75,40 +75,137 @@ files:
75
75
  - examples/pi/Makefile
76
76
  - test/assert-text-equal.rb
77
77
  - test/test-engines.rb
78
+ - test/test-enhancers.rb
78
79
  - test/test-erubis.rb
79
80
  - test/test-main.rb
80
- - test/test-notext.rb
81
+ - test/test-users-guide.rb
81
82
  - test/test.rb
82
83
  - test/testutil.rb
83
- - doc/users-guide.html
84
+ - test/data/users-guide
85
+ - test/data/users-guide/array_example.result
86
+ - test/data/users-guide/arraybuffer_example.result
87
+ - test/data/users-guide/bipattern-example.rhtml
88
+ - test/data/users-guide/bipattern_example.result
89
+ - test/data/users-guide/context.rb
90
+ - test/data/users-guide/context.yaml
91
+ - test/data/users-guide/escape_example.result
92
+ - test/data/users-guide/example.ec
93
+ - test/data/users-guide/Example.ejava
94
+ - test/data/users-guide/example.ejs
95
+ - test/data/users-guide/example.eperl
96
+ - test/data/users-guide/example.ephp
97
+ - test/data/users-guide/example.eruby
98
+ - test/data/users-guide/example.escheme
99
+ - test/data/users-guide/example1.eruby
100
+ - test/data/users-guide/example1.rb
101
+ - test/data/users-guide/example1.result
102
+ - test/data/users-guide/example10.rb
103
+ - test/data/users-guide/example10.result
104
+ - test/data/users-guide/example10.xhtml
105
+ - test/data/users-guide/example10_x.result
106
+ - test/data/users-guide/example11.php
107
+ - test/data/users-guide/example11.result
108
+ - test/data/users-guide/example11.rhtml
109
+ - test/data/users-guide/example11_C.result
110
+ - test/data/users-guide/example11_N.result
111
+ - test/data/users-guide/example11_php.result
112
+ - test/data/users-guide/example11_U.result
113
+ - test/data/users-guide/example1_x.result
114
+ - test/data/users-guide/example2.eruby
115
+ - test/data/users-guide/example2.rb
116
+ - test/data/users-guide/example2.result
117
+ - test/data/users-guide/example2_trim.result
118
+ - test/data/users-guide/example2_x.result
119
+ - test/data/users-guide/example3.eruby
120
+ - test/data/users-guide/example3.rb
121
+ - test/data/users-guide/example31.result
122
+ - test/data/users-guide/example32.result
123
+ - test/data/users-guide/example3_e.result
124
+ - test/data/users-guide/example4.eruby
125
+ - test/data/users-guide/example4.rb
126
+ - test/data/users-guide/example4.result
127
+ - test/data/users-guide/example4_x.result
128
+ - test/data/users-guide/example5.eruby
129
+ - test/data/users-guide/example5.rb
130
+ - test/data/users-guide/example5.result
131
+ - test/data/users-guide/example6.rb
132
+ - test/data/users-guide/example6.result
133
+ - test/data/users-guide/example7.eruby
134
+ - test/data/users-guide/example71.result
135
+ - test/data/users-guide/example72.result
136
+ - test/data/users-guide/example8.eruby
137
+ - test/data/users-guide/example8_ruby.result
138
+ - test/data/users-guide/example8_yaml.result
139
+ - test/data/users-guide/example9.eruby
140
+ - test/data/users-guide/example9.rb
141
+ - test/data/users-guide/example9.result
142
+ - test/data/users-guide/example91.result
143
+ - test/data/users-guide/example92.result
144
+ - test/data/users-guide/example_c.result
145
+ - test/data/users-guide/example_java.result
146
+ - test/data/users-guide/example_js.result
147
+ - test/data/users-guide/example_perl.result
148
+ - test/data/users-guide/example_php.result
149
+ - test/data/users-guide/example_scheme.result
150
+ - test/data/users-guide/example_scheme_display.result
151
+ - test/data/users-guide/fasteruby.rb
152
+ - test/data/users-guide/fasteruby.result
153
+ - test/data/users-guide/fasteruby.rhtml
154
+ - test/data/users-guide/headerfooter-example.eruby
155
+ - test/data/users-guide/headerfooter-example2.rb
156
+ - test/data/users-guide/headerfooter-example2.rhtml
157
+ - test/data/users-guide/headerfooter_example.result
158
+ - test/data/users-guide/headerfooter_example2.result
159
+ - test/data/users-guide/interpolation_example.result
160
+ - test/data/users-guide/nocode-example.eruby
161
+ - test/data/users-guide/nocode-php.result
162
+ - test/data/users-guide/nocode_example.result
163
+ - test/data/users-guide/normal-eruby-test.eruby
164
+ - test/data/users-guide/normal_eruby_test.result
165
+ - test/data/users-guide/notext-example.eruby
166
+ - test/data/users-guide/notext-example.php
167
+ - test/data/users-guide/notext-php.result
168
+ - test/data/users-guide/notext_example.result
169
+ - test/data/users-guide/percentline-example.rhtml
170
+ - test/data/users-guide/percentline_example.result
171
+ - test/data/users-guide/printenable_example.result
172
+ - test/data/users-guide/printenabled-example.eruby
173
+ - test/data/users-guide/printenabled-example.rb
174
+ - test/data/users-guide/printstatement_example.result
175
+ - test/data/users-guide/simplify_example.result
176
+ - test/data/users-guide/stdout_exmple.result
177
+ - test/data/users-guide/stringbuffer_example.result
84
178
  - doc/docstyle.css
179
+ - doc/users-guide.html
85
180
  - README.txt
86
181
  - CHANGES
87
182
  - MIT-LICENSE
88
183
  - setup.rb
89
184
  - contrib/action_view_base_rb.patch
90
185
  - contrib/erubis
186
+ - contrib/erubis-run.rb
91
187
  - contrib/inline-require
92
- - benchmark/erubybench-lib.rb
93
- - benchmark/erubybench.rb
94
- - benchmark/erubybench.rhtml
95
- - benchmark/erubybench.yaml
188
+ - benchmark/bench.rb
189
+ - benchmark/bench_context.yaml
190
+ - benchmark/Makefile
191
+ - benchmark/templates
192
+ - benchmark/templates/_footer.html
193
+ - benchmark/templates/_header.html
194
+ - benchmark/templates/bench_erb.rhtml
195
+ - benchmark/templates/bench_erubis.rhtml
196
+ - benchmark/templates/bench_eruby.rhtml
96
197
  - doc-api/classes
97
- - doc-api/created.rid
98
- - doc-api/files
99
- - doc-api/fr_class_index.html
100
- - doc-api/fr_file_index.html
101
- - doc-api/fr_method_index.html
102
- - doc-api/index.html
103
- - doc-api/rdoc-style.css
104
- - doc-api/classes/ERB.html
198
+ - doc-api/classes/ActionView
199
+ - doc-api/classes/ActionView/Base
200
+ - doc-api/classes/ActionView/Base/ERB.html
105
201
  - doc-api/classes/Erubis
106
- - doc-api/classes/Erubis.html
107
202
  - doc-api/classes/Erubis/ArrayBufferEnhancer.html
108
203
  - doc-api/classes/Erubis/ArrayBufferEruby.html
109
204
  - doc-api/classes/Erubis/ArrayEnhancer.html
110
205
  - doc-api/classes/Erubis/ArrayEruby.html
111
206
  - doc-api/classes/Erubis/Basic
207
+ - doc-api/classes/Erubis/Basic/Converter.html
208
+ - doc-api/classes/Erubis/Basic/Engine.html
112
209
  - doc-api/classes/Erubis/Basic.html
113
210
  - doc-api/classes/Erubis/BiPatternEnhancer.html
114
211
  - doc-api/classes/Erubis/BiPatternEruby.html
@@ -116,12 +213,16 @@ files:
116
213
  - doc-api/classes/Erubis/CommandOptionError.html
117
214
  - doc-api/classes/Erubis/Context.html
118
215
  - doc-api/classes/Erubis/Converter.html
216
+ - doc-api/classes/Erubis/DeleteIndentEnhancer.html
217
+ - doc-api/classes/Erubis/DeleteIndentEruby.html
119
218
  - doc-api/classes/Erubis/Ec.html
120
219
  - doc-api/classes/Erubis/Ejava.html
121
220
  - doc-api/classes/Erubis/Ejavascript.html
122
221
  - doc-api/classes/Erubis/Engine.html
123
222
  - doc-api/classes/Erubis/Eperl.html
124
223
  - doc-api/classes/Erubis/Ephp.html
224
+ - doc-api/classes/Erubis/ErboutEnhancer.html
225
+ - doc-api/classes/Erubis/ErboutEruby.html
125
226
  - doc-api/classes/Erubis/ErubisError.html
126
227
  - doc-api/classes/Erubis/Eruby.html
127
228
  - doc-api/classes/Erubis/EscapedEc.html
@@ -134,11 +235,15 @@ files:
134
235
  - doc-api/classes/Erubis/EscapeEnhancer.html
135
236
  - doc-api/classes/Erubis/Escheme.html
136
237
  - doc-api/classes/Erubis/Evaluator.html
238
+ - doc-api/classes/Erubis/FastEruby.html
137
239
  - doc-api/classes/Erubis/Generator.html
138
240
  - doc-api/classes/Erubis/HeaderFooterEnhancer.html
139
241
  - doc-api/classes/Erubis/HeaderFooterEruby.html
140
242
  - doc-api/classes/Erubis/Helpers
243
+ - doc-api/classes/Erubis/Helpers/RailsHelper.html
141
244
  - doc-api/classes/Erubis/Helpers.html
245
+ - doc-api/classes/Erubis/InterpolationEnhancer.html
246
+ - doc-api/classes/Erubis/InterpolationEruby.html
142
247
  - doc-api/classes/Erubis/JavaGenerator.html
143
248
  - doc-api/classes/Erubis/JavascriptGenerator.html
144
249
  - doc-api/classes/Erubis/Main.html
@@ -155,6 +260,16 @@ files:
155
260
  - doc-api/classes/Erubis/PerlGenerator.html
156
261
  - doc-api/classes/Erubis/PhpGenerator.html
157
262
  - doc-api/classes/Erubis/PI
263
+ - doc-api/classes/Erubis/PI/Converter.html
264
+ - doc-api/classes/Erubis/PI/Ec.html
265
+ - doc-api/classes/Erubis/PI/Ejava.html
266
+ - doc-api/classes/Erubis/PI/Ejavascript.html
267
+ - doc-api/classes/Erubis/PI/Engine.html
268
+ - doc-api/classes/Erubis/PI/Eperl.html
269
+ - doc-api/classes/Erubis/PI/Ephp.html
270
+ - doc-api/classes/Erubis/PI/Eruby.html
271
+ - doc-api/classes/Erubis/PI/Escheme.html
272
+ - doc-api/classes/Erubis/PI/TinyEruby.html
158
273
  - doc-api/classes/Erubis/PI.html
159
274
  - doc-api/classes/Erubis/PrintEnabledEnhancer.html
160
275
  - doc-api/classes/Erubis/PrintEnabledEruby.html
@@ -175,35 +290,13 @@ files:
175
290
  - doc-api/classes/Erubis/TinyEruby.html
176
291
  - doc-api/classes/Erubis/XmlEruby.html
177
292
  - doc-api/classes/Erubis/XmlHelper.html
178
- - doc-api/classes/Erubis/Basic/Converter.html
179
- - doc-api/classes/Erubis/Basic/Engine.html
180
- - doc-api/classes/Erubis/Helpers/RailsHelper.html
181
- - doc-api/classes/Erubis/PI/Converter.html
182
- - doc-api/classes/Erubis/PI/Ec.html
183
- - doc-api/classes/Erubis/PI/Ejava.html
184
- - doc-api/classes/Erubis/PI/Ejavascript.html
185
- - doc-api/classes/Erubis/PI/Engine.html
186
- - doc-api/classes/Erubis/PI/Eperl.html
187
- - doc-api/classes/Erubis/PI/Ephp.html
188
- - doc-api/classes/Erubis/PI/Eruby.html
189
- - doc-api/classes/Erubis/PI/Escheme.html
190
- - doc-api/classes/Erubis/PI/TinyEruby.html
293
+ - doc-api/classes/Erubis.html
294
+ - doc-api/created.rid
295
+ - doc-api/files
191
296
  - doc-api/files/erubis
192
- - doc-api/files/erubis_rb.html
193
- - doc-api/files/README_txt.html
194
297
  - doc-api/files/erubis/context_rb.html
195
298
  - doc-api/files/erubis/converter_rb.html
196
299
  - doc-api/files/erubis/engine
197
- - doc-api/files/erubis/engine_rb.html
198
- - doc-api/files/erubis/enhancer_rb.html
199
- - doc-api/files/erubis/error_rb.html
200
- - doc-api/files/erubis/evaluator_rb.html
201
- - doc-api/files/erubis/generator_rb.html
202
- - doc-api/files/erubis/helper_rb.html
203
- - doc-api/files/erubis/helpers
204
- - doc-api/files/erubis/local-setting_rb.html
205
- - doc-api/files/erubis/main_rb.html
206
- - doc-api/files/erubis/tiny_rb.html
207
300
  - doc-api/files/erubis/engine/ec_rb.html
208
301
  - doc-api/files/erubis/engine/ejava_rb.html
209
302
  - doc-api/files/erubis/engine/ejavascript_rb.html
@@ -213,7 +306,24 @@ files:
213
306
  - doc-api/files/erubis/engine/eruby_rb.html
214
307
  - doc-api/files/erubis/engine/escheme_rb.html
215
308
  - doc-api/files/erubis/engine/optimized_rb.html
309
+ - doc-api/files/erubis/engine_rb.html
310
+ - doc-api/files/erubis/enhancer_rb.html
311
+ - doc-api/files/erubis/error_rb.html
312
+ - doc-api/files/erubis/evaluator_rb.html
313
+ - doc-api/files/erubis/generator_rb.html
314
+ - doc-api/files/erubis/helper_rb.html
315
+ - doc-api/files/erubis/helpers
216
316
  - doc-api/files/erubis/helpers/rails_helper_rb.html
317
+ - doc-api/files/erubis/local-setting_rb.html
318
+ - doc-api/files/erubis/main_rb.html
319
+ - doc-api/files/erubis/tiny_rb.html
320
+ - doc-api/files/erubis_rb.html
321
+ - doc-api/files/README_txt.html
322
+ - doc-api/fr_class_index.html
323
+ - doc-api/fr_file_index.html
324
+ - doc-api/fr_method_index.html
325
+ - doc-api/index.html
326
+ - doc-api/rdoc-style.css
217
327
  test_files:
218
328
  - test/test.rb
219
329
  rdoc_options: []
@@ -222,7 +332,6 @@ extra_rdoc_files: []
222
332
 
223
333
  executables:
224
334
  - erubis
225
- - notext
226
335
  extensions: []
227
336
 
228
337
  requirements: []
@@ -1,189 +0,0 @@
1
-
2
- module Erubis
3
-
4
- class Eruby2 < Eruby
5
- def finalize_src(src)
6
- #src << "\nprint _buf.join; nil\n"
7
- src << "\n_buf.join; ''\n"
8
- end
9
- end
10
-
11
- class ExprStrippedEruby < Eruby
12
- def add_expr(src, code, indicator)
13
- super(src, code.strip! || code, indicator)
14
- end
15
- end
16
-
17
-
18
- ##
19
- ## use $stdout
20
- ##
21
- class TinyStdoutEruby
22
-
23
- def initialize(input)
24
- @src = compile(input)
25
- end
26
- attr_reader :src
27
-
28
- def result(binding=TOPLEVEL_BINDING)
29
- eval @src, binding
30
- end
31
-
32
- EMBEDDED_PATTERN = /(.*?)<%(=+|\#)?(.*?)-?%>/m
33
-
34
- def compile(input)
35
- src = "_buf = $stdout;" # preamble
36
- input.scan(EMBEDDED_PATTERN) do |text, indicator, code|
37
- src << " _buf << '" << escape_text(text) << "';"
38
- if !indicator # <% %>
39
- src << code << ";"
40
- elsif indicator[0] == ?\# # <%# %>
41
- n = code.count("\n")
42
- add_stmt(src, "\n" * n)
43
- else # <%= %>
44
- src << " _buf << (" << code << ").to_s;"
45
- end
46
- end
47
- rest = $' || input
48
- src << " _buf << '" << escape_text(rest) << "';"
49
- src << "\nnil\n" # postamble
50
- return src
51
- end
52
-
53
- def escape_text(text)
54
- return text.gsub!(/['\\]/, '\\\\\&') || text
55
- end
56
-
57
- end
58
-
59
-
60
- ##
61
- ## use print statement
62
- ##
63
- class TinyPrintEruby
64
-
65
- def initialize(input)
66
- @src = compile(input)
67
- end
68
- attr_reader :src
69
-
70
- def result(binding=TOPLEVEL_BINDING)
71
- eval @src, binding
72
- end
73
-
74
- EMBEDDED_PATTERN = /(.*?)<%(=+|\#)?(.*?)-?%>/m
75
-
76
- def compile(input)
77
- src = ""
78
- input.scan(EMBEDDED_PATTERN) do |text, indicator, code|
79
- src << " print '" << escape_text(text) << "';"
80
- if !indicator # <% %>
81
- src << code << ";"
82
- elsif indicator[0] == ?\# # <%# %>
83
- n = code.count("\n")
84
- add_stmt(src, "\n" * n)
85
- else # <%= %>
86
- src << " print((" << code << ").to_s);"
87
- end
88
- end
89
- rest = $' || input
90
- src << " print '" << escape_text(rest) << "';"
91
- src << "\nnil\n"
92
- return src
93
- end
94
-
95
- def escape_text(text)
96
- return text.gsub!(/['\\]/, '\\\\\&') || text
97
- end
98
-
99
- end
100
-
101
-
102
- ##
103
- ## for test
104
- ##
105
- class Optimized2Eruby < Eruby # :nodoc:
106
-
107
- def self.supported_properties() # :nodoc:
108
- return super
109
- end
110
-
111
- def initialize(input, properties={})
112
- @initialized = false
113
- #@prev_is_expr = false
114
- super
115
- end
116
-
117
- protected
118
-
119
- def escape_text(text)
120
- text.gsub(/['\\]/, '\\\\\&') # "'" => "\\'", '\\' => '\\\\'
121
- end
122
-
123
- def escaped_expr(code)
124
- return "Erubis::XmlHelper.escape_xml(#{code})"
125
- end
126
-
127
- #def switch_to_expr(src)
128
- # return if @prev_is_expr
129
- # @prev_is_expr = true
130
- # src << ' _buf'
131
- #end
132
-
133
- #def switch_to_stmt(src)
134
- # return unless @prev_is_expr
135
- # @prev_is_expr = false
136
- # src << ';'
137
- #end
138
-
139
- def add_preamble(src)
140
- @initialized = false
141
- #@prev_is_expr = false
142
- end
143
-
144
- def add_text(src, text)
145
- return if text.empty?
146
- if @initialized
147
- #switch_to_expr(src)
148
- #src << " << '" << escape_text(text) << "'"
149
- src << "_buf << '" << escape_text(text) << "';"
150
- else
151
- src << "_buf = '" << escape_text(text) << "';"
152
- @initialized = true
153
- end
154
- end
155
-
156
- def add_stmt(src, code)
157
- #switch_to_stmt(src) if @initialized
158
- #super
159
- src << code << ';'
160
- end
161
-
162
- def add_expr_literal(src, code)
163
- unless @initialized; src << "_buf = ''"; @initialized = true; end
164
- #switch_to_expr(src)
165
- #src << " << (" << code << ").to_s"
166
- src << " _buf << (" << code << ").to_s;"
167
- end
168
-
169
- def add_expr_escaped(src, code)
170
- unless @initialized; src << "_buf = ''"; @initialized = true; end
171
- #switch_to_expr(src)
172
- #src << " << " << escaped_expr(code)
173
- src << " _buf << " << escaped_expr(code) << ';'
174
- end
175
-
176
- def add_expr_debug(src, code)
177
- code.strip!
178
- s = (code.dump =~ /\A"(.*)"\z/) && $1
179
- src << ' $stderr.puts("*** debug: ' << s << '=#{(' << code << ').inspect}");'
180
- end
181
-
182
- def add_postamble(src)
183
- #super if @initialized
184
- src << "\n_buf\n" if @initialized
185
- end
186
-
187
- end
188
-
189
- end