erubis 1.1.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +45 -18
- data/README.txt +80 -0
- data/benchmark/erubybench-lib.rb +189 -0
- data/benchmark/erubybench.rb +364 -0
- data/benchmark/erubybench.rhtml +61 -0
- data/benchmark/erubybench.yaml +61 -0
- data/bin/erubis +4 -180
- data/contrib/erubis +2297 -0
- data/contrib/inline-require +151 -0
- data/doc-api/classes/Erubis.html +236 -0
- data/doc-api/classes/Erubis/ArrayBufferEnhancer.html +175 -0
- data/doc-api/classes/Erubis/ArrayBufferEruby.html +120 -0
- data/doc-api/classes/Erubis/ArrayEnhancer.html +174 -0
- data/doc-api/classes/Erubis/ArrayEruby.html +120 -0
- data/doc-api/classes/Erubis/BiPatternEnhancer.html +212 -0
- data/doc-api/classes/Erubis/BiPatternEruby.html +120 -0
- data/doc-api/classes/Erubis/CommandOptionError.html +113 -0
- data/doc-api/classes/Erubis/Context.html +249 -0
- data/doc-api/classes/Erubis/Ec.html +399 -0
- data/doc-api/classes/Erubis/Ejava.html +366 -0
- data/doc-api/classes/Erubis/Ejavascript.html +390 -0
- data/doc-api/classes/Erubis/Engine.html +711 -0
- data/doc-api/classes/Erubis/Eperl.html +350 -0
- data/doc-api/classes/Erubis/Ephp.html +308 -0
- data/doc-api/classes/Erubis/ErubisError.html +117 -0
- data/doc-api/classes/Erubis/Eruby.html +310 -0
- data/doc-api/classes/Erubis/EscapeEnhancer.html +167 -0
- data/doc-api/classes/Erubis/EscapedEc.html +120 -0
- data/doc-api/classes/Erubis/EscapedEjava.html +120 -0
- data/doc-api/classes/Erubis/EscapedEjavascript.html +120 -0
- data/doc-api/classes/Erubis/EscapedEperl.html +120 -0
- data/doc-api/classes/Erubis/EscapedEphp.html +120 -0
- data/doc-api/classes/Erubis/EscapedEruby.html +127 -0
- data/doc-api/classes/Erubis/EscapedEscheme.html +120 -0
- data/doc-api/classes/Erubis/Escheme.html +389 -0
- data/doc-api/classes/Erubis/HeaderFooterEnhancer.html +264 -0
- data/doc-api/classes/Erubis/HeaderFooterEruby.html +120 -0
- data/doc-api/classes/Erubis/Main.html +318 -0
- data/doc-api/classes/Erubis/NoTextEnhancer.html +159 -0
- data/doc-api/classes/Erubis/NoTextEruby.html +120 -0
- data/doc-api/classes/Erubis/OptimizedEruby.html +445 -0
- data/doc-api/classes/Erubis/OptimizedXmlEruby.html +163 -0
- data/doc-api/classes/Erubis/PercentLineEnhancer.html +174 -0
- data/doc-api/classes/Erubis/PercentLineEruby.html +120 -0
- data/doc-api/classes/Erubis/PrintEnabledEnhancer.html +212 -0
- data/doc-api/classes/Erubis/PrintEnabledEruby.html +120 -0
- data/doc-api/classes/Erubis/PrintOutEnhancer.html +244 -0
- data/doc-api/classes/Erubis/PrintOutEruby.html +120 -0
- data/doc-api/classes/Erubis/PrintOutSimplifiedEruby.html +121 -0
- data/doc-api/classes/Erubis/SimplifiedEruby.html +120 -0
- data/doc-api/classes/Erubis/SimplifyEnhancer.html +185 -0
- data/doc-api/classes/Erubis/StdoutEnhancer.html +173 -0
- data/doc-api/classes/Erubis/StdoutEruby.html +120 -0
- data/doc-api/classes/Erubis/StdoutSimplifiedEruby.html +121 -0
- data/doc-api/classes/Erubis/StringBufferEnhancer.html +174 -0
- data/doc-api/classes/Erubis/StringBufferEruby.html +120 -0
- data/doc-api/classes/Erubis/StringIOEruby.html +120 -0
- data/doc-api/classes/Erubis/TinyEruby.html +305 -0
- data/doc-api/classes/Erubis/XmlEruby.html +130 -0
- data/doc-api/classes/Erubis/XmlHelper.html +193 -0
- data/doc-api/created.rid +1 -0
- data/doc-api/files/__/README_txt.html +214 -0
- data/doc-api/files/erubis/engine/ec_rb.html +115 -0
- data/doc-api/files/erubis/engine/ejava_rb.html +115 -0
- data/doc-api/files/erubis/engine/ejavascript_rb.html +115 -0
- data/doc-api/files/erubis/engine/enhanced_rb.html +115 -0
- data/doc-api/files/erubis/engine/eperl_rb.html +115 -0
- data/doc-api/files/erubis/engine/ephp_rb.html +115 -0
- data/doc-api/files/erubis/engine/eruby_rb.html +115 -0
- data/doc-api/files/erubis/engine/escheme_rb.html +115 -0
- data/doc-api/files/erubis/engine/optimized_rb.html +114 -0
- data/doc-api/files/erubis/engine_rb.html +114 -0
- data/doc-api/files/erubis/enhancer_rb.html +114 -0
- data/doc-api/files/erubis/helper_rb.html +107 -0
- data/doc-api/files/erubis/local-setting_rb.html +107 -0
- data/doc-api/files/erubis/main_rb.html +125 -0
- data/doc-api/files/erubis/tiny_rb.html +107 -0
- data/doc-api/files/erubis_rb.html +118 -0
- data/doc-api/fr_class_index.html +77 -0
- data/doc-api/fr_file_index.html +43 -0
- data/doc-api/fr_method_index.html +157 -0
- data/doc-api/index.html +24 -0
- data/doc-api/rdoc-style.css +208 -0
- data/doc/users-guide.html +1507 -375
- data/examples/Makefile +53 -0
- data/examples/example.ec +24 -0
- data/examples/example.ejava +41 -0
- data/examples/example.ejavascript +16 -0
- data/examples/example.eperl +16 -0
- data/examples/example.ephp +17 -0
- data/examples/example.eruby +15 -0
- data/examples/example.escheme +26 -0
- data/lib/erubis.rb +37 -269
- data/lib/erubis/engine.rb +260 -0
- data/lib/erubis/engine/ec.rb +106 -0
- data/lib/erubis/engine/ejava.rb +101 -0
- data/lib/erubis/engine/ejavascript.rb +104 -0
- data/lib/erubis/engine/enhanced.rb +102 -0
- data/lib/erubis/engine/eperl.rb +83 -0
- data/lib/erubis/engine/ephp.rb +84 -0
- data/lib/erubis/engine/eruby.rb +91 -0
- data/lib/erubis/engine/escheme.rb +96 -0
- data/lib/erubis/engine/optimized.rb +114 -0
- data/lib/erubis/enhancer.rb +487 -0
- data/lib/erubis/helper.rb +53 -0
- data/lib/erubis/local-setting.rb +10 -0
- data/lib/erubis/main.rb +368 -0
- data/lib/erubis/tiny.rb +65 -0
- data/test/assert-text-equal.rb +45 -0
- data/test/test-bin.rb +222 -45
- data/test/test-engines.rb +343 -0
- data/test/test-erubis.rb +836 -501
- data/test/test.rb +27 -0
- data/test/testutil.rb +86 -0
- metadata +131 -8
- data/README +0 -50
@@ -0,0 +1,104 @@
|
|
1
|
+
##
|
2
|
+
## $Rev: 21 $
|
3
|
+
## $Release: 2.0.0 $
|
4
|
+
## copyright(c) 2006 kuwata-lab all rights reserved.
|
5
|
+
##
|
6
|
+
|
7
|
+
require 'erubis/engine'
|
8
|
+
require 'erubis/enhancer'
|
9
|
+
|
10
|
+
|
11
|
+
module Erubis
|
12
|
+
|
13
|
+
|
14
|
+
##
|
15
|
+
## engine for JavaScript
|
16
|
+
##
|
17
|
+
class Ejavascript < Engine
|
18
|
+
|
19
|
+
def self.supported_properties() # :nodoc:
|
20
|
+
list = super
|
21
|
+
#list << [:indent, '', "indent spaces (ex. ' ')"]
|
22
|
+
#list << [:buf, '_buf', "output buffer name"]
|
23
|
+
return list
|
24
|
+
end
|
25
|
+
|
26
|
+
def initialize(input, properties={})
|
27
|
+
@indent = properties[:indent] || ''
|
28
|
+
@buf = properties[:out] || '_buf'
|
29
|
+
#@bufclass = properties[:outclass] || 'StringBuffer'
|
30
|
+
super
|
31
|
+
end
|
32
|
+
|
33
|
+
def add_preamble(src)
|
34
|
+
src << "#{@indent}var #{@buf} = [];"
|
35
|
+
end
|
36
|
+
|
37
|
+
def escape_text(text)
|
38
|
+
@@table_ ||= { "\r"=>"\\r", "\n"=>"\\n\\\n", "\t"=>"\\t", '"'=>'\\"', "\\"=>"\\\\" }
|
39
|
+
return text.gsub!(/[\r\n\t"\\]/) { |m| @@table_[m] } || text
|
40
|
+
end
|
41
|
+
|
42
|
+
#--
|
43
|
+
#def escaped_expr(code)
|
44
|
+
# @escape ||= 'escape'
|
45
|
+
# return "#{@escape}(#{code.strip})"
|
46
|
+
#end
|
47
|
+
#++
|
48
|
+
|
49
|
+
def add_indent(src, indent)
|
50
|
+
src << (src.empty? || src[-1] == ?\n ? indent : ' ')
|
51
|
+
end
|
52
|
+
|
53
|
+
def add_text(src, text)
|
54
|
+
return if text.empty?
|
55
|
+
add_indent(src, @indent)
|
56
|
+
src << @buf << '.push("'
|
57
|
+
s = escape_text(text)
|
58
|
+
if s[-1] == ?\n
|
59
|
+
s[-2, 2] = ''
|
60
|
+
src << s << "\");\n"
|
61
|
+
else
|
62
|
+
src << s << "\");"
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
def add_stmt(src, code)
|
67
|
+
src << code
|
68
|
+
end
|
69
|
+
|
70
|
+
def add_expr_literal(src, code)
|
71
|
+
add_indent(src, @indent)
|
72
|
+
src << @buf << '.push(' << code.strip << ');'
|
73
|
+
end
|
74
|
+
|
75
|
+
def add_expr_escaped(src, code)
|
76
|
+
add_indent(src, @indent)
|
77
|
+
src << @buf << '.push(' << escaped_expr(code) << ');'
|
78
|
+
end
|
79
|
+
|
80
|
+
def add_expr_debug(src, code)
|
81
|
+
add_indent(src, @indent)
|
82
|
+
code.strip!
|
83
|
+
src << "alert(\"*** debug: #{code}=\"+(#{code}));"
|
84
|
+
end
|
85
|
+
|
86
|
+
def add_postamble(src)
|
87
|
+
src << "\n" if src[-1] == ?;
|
88
|
+
src << @indent << 'document.write(' << @buf << ".join(\"\"));\n"
|
89
|
+
end
|
90
|
+
|
91
|
+
end
|
92
|
+
|
93
|
+
|
94
|
+
class EscapedEjavascript < Ejavascript
|
95
|
+
include EscapeEnhancer
|
96
|
+
end
|
97
|
+
|
98
|
+
|
99
|
+
#class XmlEjavascript < Ejavascript
|
100
|
+
# include EscapeEnhancer
|
101
|
+
#end
|
102
|
+
|
103
|
+
|
104
|
+
end
|
@@ -0,0 +1,102 @@
|
|
1
|
+
##
|
2
|
+
## $Rev: 19 $
|
3
|
+
## $Release: 2.0.0 $
|
4
|
+
## copyright(c) 2006 kuwata-lab all rights reserved.
|
5
|
+
##
|
6
|
+
|
7
|
+
require 'erubis/enhancer'
|
8
|
+
require 'erubis/engine/eruby'
|
9
|
+
|
10
|
+
|
11
|
+
module Erubis
|
12
|
+
|
13
|
+
|
14
|
+
#--
|
15
|
+
## moved to engine/ruby.rb
|
16
|
+
#class EscapedEruby < Eruby
|
17
|
+
# include EscapeEnhancer
|
18
|
+
#end
|
19
|
+
#++
|
20
|
+
|
21
|
+
|
22
|
+
#--
|
23
|
+
### (obsolete)
|
24
|
+
#class FastEruby < Eruby
|
25
|
+
# include FastEnhancer
|
26
|
+
#end
|
27
|
+
#++
|
28
|
+
|
29
|
+
|
30
|
+
class StdoutEruby < Eruby
|
31
|
+
include StdoutEnhancer
|
32
|
+
end
|
33
|
+
|
34
|
+
|
35
|
+
class PrintOutEruby < Eruby
|
36
|
+
include PrintOutEnhancer
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
class PrintEnabledEruby < Eruby
|
41
|
+
include PrintEnabledEnhancer
|
42
|
+
end
|
43
|
+
|
44
|
+
|
45
|
+
class ArrayEruby < Eruby
|
46
|
+
include ArrayEnhancer
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
class ArrayBufferEruby < Eruby
|
51
|
+
include ArrayBufferEnhancer
|
52
|
+
end
|
53
|
+
|
54
|
+
|
55
|
+
class StringBufferEruby < Eruby
|
56
|
+
include StringBufferEnhancer
|
57
|
+
end
|
58
|
+
|
59
|
+
|
60
|
+
class StringIOEruby < Eruby
|
61
|
+
include StringIOEnhancer
|
62
|
+
end
|
63
|
+
|
64
|
+
|
65
|
+
class NoTextEruby < Eruby
|
66
|
+
include NoTextEnhancer
|
67
|
+
end
|
68
|
+
|
69
|
+
|
70
|
+
class SimplifiedEruby < Eruby
|
71
|
+
include SimplifyEnhancer
|
72
|
+
end
|
73
|
+
|
74
|
+
|
75
|
+
class StdoutSimplifiedEruby < Eruby
|
76
|
+
include StdoutEnhancer
|
77
|
+
include SimplifyEnhancer
|
78
|
+
end
|
79
|
+
|
80
|
+
|
81
|
+
class PrintOutSimplifiedEruby < Eruby
|
82
|
+
include PrintOutEnhancer
|
83
|
+
include SimplifyEnhancer
|
84
|
+
end
|
85
|
+
|
86
|
+
|
87
|
+
class BiPatternEruby < Eruby
|
88
|
+
include BiPatternEnhancer
|
89
|
+
end
|
90
|
+
|
91
|
+
|
92
|
+
class PercentLineEruby < Eruby
|
93
|
+
include PercentLineEnhancer
|
94
|
+
end
|
95
|
+
|
96
|
+
|
97
|
+
class HeaderFooterEruby < Eruby
|
98
|
+
include HeaderFooterEnhancer
|
99
|
+
end
|
100
|
+
|
101
|
+
|
102
|
+
end
|
@@ -0,0 +1,83 @@
|
|
1
|
+
##
|
2
|
+
## $Rev: 19 $
|
3
|
+
## $Release: 2.0.0 $
|
4
|
+
## copyright(c) 2006 kuwata-lab all rights reserved.
|
5
|
+
##
|
6
|
+
|
7
|
+
require 'erubis/engine'
|
8
|
+
require 'erubis/enhancer'
|
9
|
+
|
10
|
+
|
11
|
+
module Erubis
|
12
|
+
|
13
|
+
|
14
|
+
##
|
15
|
+
## engine for Perl
|
16
|
+
##
|
17
|
+
class Eperl < Engine
|
18
|
+
|
19
|
+
def self.supported_properties() # :nodoc:
|
20
|
+
list = super
|
21
|
+
list << [:func, 'print', "function name"]
|
22
|
+
return list
|
23
|
+
end
|
24
|
+
|
25
|
+
def initialize(input, properties={})
|
26
|
+
@func = properties[:func] || 'print'
|
27
|
+
super
|
28
|
+
end
|
29
|
+
|
30
|
+
def add_preamble(src)
|
31
|
+
end
|
32
|
+
|
33
|
+
def escape_text(text)
|
34
|
+
return text.gsub!(/['\\]/, '\\\\\&') || text
|
35
|
+
end
|
36
|
+
|
37
|
+
def add_text(src, text)
|
38
|
+
src << @func << "('" << escape_text(text) << "'); " unless text.empty?
|
39
|
+
end
|
40
|
+
|
41
|
+
#--
|
42
|
+
#def escaped_expr(code)
|
43
|
+
# @escape ||= 'escape'
|
44
|
+
# return "escape(#{code.strip})"
|
45
|
+
#end
|
46
|
+
#++
|
47
|
+
|
48
|
+
def add_expr_literal(src, code)
|
49
|
+
src << @func << "(" << code.strip << "); "
|
50
|
+
end
|
51
|
+
|
52
|
+
def add_expr_escaped(src, code)
|
53
|
+
src << @func << "(" << escaped_expr(code) << "); "
|
54
|
+
end
|
55
|
+
|
56
|
+
def add_expr_debug(src, code)
|
57
|
+
code.strip!
|
58
|
+
s = code.gsub(/\'/, "\\'")
|
59
|
+
src << @func << "('*** debug: #{code}=', #{code}, \"\\n\");"
|
60
|
+
end
|
61
|
+
|
62
|
+
def add_stmt(src, code)
|
63
|
+
src << code
|
64
|
+
end
|
65
|
+
|
66
|
+
def add_postamble(src)
|
67
|
+
src << "\n" unless src[-1] == ?\n
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|
71
|
+
|
72
|
+
|
73
|
+
class EscapedEperl < Eperl
|
74
|
+
include EscapeEnhancer
|
75
|
+
end
|
76
|
+
|
77
|
+
|
78
|
+
#class XmlEperl < Eperl
|
79
|
+
# include EscapeEnhancer
|
80
|
+
#end
|
81
|
+
|
82
|
+
|
83
|
+
end
|
@@ -0,0 +1,84 @@
|
|
1
|
+
##
|
2
|
+
## $Rev: 19 $
|
3
|
+
## $Release: 2.0.0 $
|
4
|
+
## copyright(c) 2006 kuwata-lab all rights reserved.
|
5
|
+
##
|
6
|
+
|
7
|
+
require 'erubis/engine'
|
8
|
+
require 'erubis/enhancer'
|
9
|
+
|
10
|
+
|
11
|
+
module Erubis
|
12
|
+
|
13
|
+
|
14
|
+
##
|
15
|
+
## engine for PHP
|
16
|
+
##
|
17
|
+
class Ephp < Engine
|
18
|
+
|
19
|
+
def self.supported_properties() # :nodoc:
|
20
|
+
return super
|
21
|
+
end
|
22
|
+
|
23
|
+
#--
|
24
|
+
#def add_preamble(src)
|
25
|
+
#end
|
26
|
+
#++
|
27
|
+
|
28
|
+
def escape_text(text)
|
29
|
+
return text.gsub!(/<\?xml\b/, '<<?php ?>?xml') || text
|
30
|
+
end
|
31
|
+
|
32
|
+
def add_text(src, text)
|
33
|
+
src << escape_text(text)
|
34
|
+
end
|
35
|
+
|
36
|
+
def escaped_expr(code)
|
37
|
+
@escape ||= 'htmlspecialchars'
|
38
|
+
return "#{@escape}(#{code.strip})"
|
39
|
+
end
|
40
|
+
|
41
|
+
def add_expr_literal(src, code)
|
42
|
+
src << "<?php echo #{code.strip}; ?>"
|
43
|
+
end
|
44
|
+
|
45
|
+
def add_expr_escaped(src, code)
|
46
|
+
src << "<?php echo #{escaped_expr(code)}; ?>"
|
47
|
+
end
|
48
|
+
|
49
|
+
def add_expr_debug(src, code)
|
50
|
+
code.strip!
|
51
|
+
s = code.gsub(/\'/, "\\'")
|
52
|
+
src << "<?php error_log('*** debug: #{s}='.(#{code}), 0); ?>"
|
53
|
+
end
|
54
|
+
|
55
|
+
def add_stmt(src, code)
|
56
|
+
src << "<?php"
|
57
|
+
src << " " if code[0] != ?\ #
|
58
|
+
if code[-1] == ?\n
|
59
|
+
code.chomp!
|
60
|
+
src << code << "?>\n"
|
61
|
+
else
|
62
|
+
src << code << "?>"
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
#--
|
67
|
+
#def add_postamble(src)
|
68
|
+
#end
|
69
|
+
#++
|
70
|
+
|
71
|
+
end
|
72
|
+
|
73
|
+
|
74
|
+
class EscapedEphp < Ephp
|
75
|
+
include EscapeEnhancer
|
76
|
+
end
|
77
|
+
|
78
|
+
|
79
|
+
#class XmlEphp < Ephp
|
80
|
+
# include EscapeEnhancer
|
81
|
+
#end
|
82
|
+
|
83
|
+
|
84
|
+
end
|
@@ -0,0 +1,91 @@
|
|
1
|
+
##
|
2
|
+
## $Rev: 21 $
|
3
|
+
## $Release: 2.0.0 $
|
4
|
+
## copyright(c) 2006 kuwata-lab all rights reserved.
|
5
|
+
##
|
6
|
+
|
7
|
+
require 'erubis/engine'
|
8
|
+
require 'erubis/enhancer'
|
9
|
+
|
10
|
+
|
11
|
+
module Erubis
|
12
|
+
|
13
|
+
|
14
|
+
##
|
15
|
+
## engine for Ruby
|
16
|
+
##
|
17
|
+
class Eruby < Engine
|
18
|
+
#include StringBufferEnhancer
|
19
|
+
include ArrayBufferEnhancer
|
20
|
+
|
21
|
+
def self.supported_properties() # :nodoc:
|
22
|
+
return super
|
23
|
+
end
|
24
|
+
|
25
|
+
def escape_text(text)
|
26
|
+
text.gsub(/['\\]/, '\\\\\&') # "'" => "\\'", '\\' => '\\\\'
|
27
|
+
end
|
28
|
+
|
29
|
+
def escaped_expr(code)
|
30
|
+
@escape ||= "Erubis::XmlHelper.escape_xml"
|
31
|
+
return "#{@escape}(#{code})"
|
32
|
+
end
|
33
|
+
|
34
|
+
#--
|
35
|
+
#def add_preamble(src)
|
36
|
+
# src << "_buf = [];"
|
37
|
+
#end
|
38
|
+
#++
|
39
|
+
|
40
|
+
def add_text(src, text)
|
41
|
+
src << " _buf << '" << escape_text(text) << "';" unless text.empty?
|
42
|
+
end
|
43
|
+
|
44
|
+
def add_stmt(src, code)
|
45
|
+
#src << code << ';'
|
46
|
+
src << code
|
47
|
+
src << ';' unless code[-1] == ?\n
|
48
|
+
end
|
49
|
+
|
50
|
+
def add_expr_literal(src, code)
|
51
|
+
src << ' _buf << (' << code << ').to_s;'
|
52
|
+
end
|
53
|
+
|
54
|
+
def add_expr_escaped(src, code)
|
55
|
+
src << ' _buf << ' << escaped_expr(code) << ';'
|
56
|
+
end
|
57
|
+
|
58
|
+
def add_expr_debug(src, code)
|
59
|
+
code.strip!
|
60
|
+
s = (code.dump =~ /\A"(.*)"\z/) && $1
|
61
|
+
src << ' $stderr.puts("*** debug: ' << s << '=#{(' << code << ').inspect}");'
|
62
|
+
end
|
63
|
+
|
64
|
+
#--
|
65
|
+
#def add_postamble(src)
|
66
|
+
# src << "\n_buf.join\n"
|
67
|
+
#end
|
68
|
+
#++
|
69
|
+
|
70
|
+
end
|
71
|
+
|
72
|
+
|
73
|
+
##
|
74
|
+
## swtich '<%= %>' to escaped and '<%== %>' to not escaped
|
75
|
+
##
|
76
|
+
class EscapedEruby < Eruby
|
77
|
+
include EscapeEnhancer
|
78
|
+
end
|
79
|
+
|
80
|
+
|
81
|
+
##
|
82
|
+
## sanitize expression (<%= ... %>) by default
|
83
|
+
##
|
84
|
+
## this is equivalent to EscapedEruby and is prepared only for compatibility.
|
85
|
+
##
|
86
|
+
class XmlEruby < Eruby
|
87
|
+
include EscapeEnhancer
|
88
|
+
end
|
89
|
+
|
90
|
+
|
91
|
+
end
|