module Erubis
an implementation of eRuby
ex.
input = <<'END'
<ul>
<% for item in @list %>
<li><%= item %>
<%== item %></li>
<% end %>
</ul>
END
list = ['<aaa>', 'b&b', '"ccc"']
eruby = Erubis::Eruby.new(input)
puts "--- code ---"
puts eruby.src
puts "--- result ---"
context = Erubis::Context.new() # or new(:list=>list)
context[:list] = list
puts eruby.evaluate(context)
result:
--- source ---
_buf = ''; _buf << '<ul>
'; for item in @list
_buf << ' <li>'; _buf << ( item ).to_s; _buf << '
'; _buf << ' '; _buf << Erubis::XmlHelper.escape_xml( item ); _buf << '</li>
'; end
_buf << '</ul>
';
_buf.to_s
--- result ---
<ul>
<li><aaa>
<aaa></li>
<li>b&b
b&b</li>
<li>"ccc"
"ccc"</li>
</ul>
$Release: 2.7.0 $ copyright© 2006-2011 kuwata-lab.com all rights reserved.
$Release: 2.7.0 $ copyright© 2006-2011 kuwata-lab.com all rights reserved.
$Release: 2.7.0 $ copyright© 2006-2011 kuwata-lab.com all rights reserved.
$Release: 2.7.0 $ copyright© 2006-2011 kuwata-lab.com all rights reserved.
$Release: 2.7.0 $ copyright© 2006-2011 kuwata-lab.com all rights reserved.
$Release: 2.7.0 $ copyright© 2006-2011 kuwata-lab.com all rights reserved.
Constants
- EMPTY_BINDING
- Ejs
engine for JavaScript
- EscapedEjs
- VERSION