Module: Erubis
- Defined in:
- lib/erubis.rb
Overview
an implementation of eRuby
-
class Eruby - normal eRuby class
-
class XmlEruby - eRuby class which escape ‘&<>“’ into ‘&<>"’
-
module FastEnhancer - make eRuby faster
-
module StdoutEnhance - use $stdout instead of String as output
-
module PrintEnhance - enable to write print statement in <% … %>
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)
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>
Defined Under Namespace
Modules: FastEnhancer, PrintEnhancer, StdoutEnhancer Classes: Eruby, FastEruby, FastXmlEruby, PrintEruby, PrintXmlEruby, StdoutEruby, StdoutXmlEruby, XmlEruby