blob: 7cca5cb4ee89d9aa43e7a799a36baa43f2c6f852 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
##
## $Rev$
## $Release$
## $Copyright$
##
##
## an implementation of eRuby
##
## * class Eruby - normal eRuby class
## * class XmlEruby - eRuby class which escape '&<>"' into '&<>"'
## * module StdoutEnhancer - use $stdout instead of String as output
## * module PrintEnhancer - enable to write print statement in <% ... %>
## * class OptimizedEruby - optimized Eruby class faster than FastEruby
## * class OptimizedXmlEruby - optimized XmlEruby class faster than FastXmlEruby
##
## example:
## list = ['<aaa>', 'b&b', '"ccc"']
## input = <<'END'
## <ul>
## <% for item in list %>
## <li><%= item %>
## <%== item %></li>
## <% end %>
## </ul>
## END
## eruby = Erubis::XmlEruby.new(input) # or try OptimizedXmlEruby
## puts "--- source ---"
## puts eruby.src
## puts "--- result ---"
## puts eruby.result(binding())
## # or puts eruby.evaluate(:list=>list)
##
## result:
## --- source ---
## _out = ""; _out << " <ul>\n"
## for item in list
## _out << " <li>"; _out << Erubis::XmlEruby.escape( item ); _out << "\n"
## _out << " "; _out << ( item ).to_s; _out << "</li>\n"
## end
## _out << " </ul>\n"
## _out
## --- result ---
## <ul>
## <li><aaa>
## <aaa></li>
## <li>b&b
## b&b</li>
## <li>"ccc"
## "ccc"</li>
## </ul>
##
require 'erubis/engine'
require 'erubis/helper'
require 'erubis/enhancer'
#require 'erubis/simplest'
require 'erubis/engine/ruby'
#require 'erubis/engine/enhanced' # enhanced eruby engines
#require 'erubis/engine/optimized' # generates optimized ruby code
#require 'erubis/engine/php'
#require 'erubis/engine/c'
#require 'erubis/engine/java'
#require 'erubis/engine/scheme'
#require 'erubis/engine/perl'
#require 'erubis/engine/javascript'
require 'erubis/local-setting'
|