Fig: Erubis is the fastest eRuby implementation.
figure of Erubis

Erubis is a fast, secure, and very extensible implementation of eRuby. It has the following features.

  • Very fast, almost three times faster than ERB and about ten percent faster than eruby (implemented in C).
  • File caching of converted Ruby script support.
  • Auto escaping (sanitizing) support, it means that '<%= %>' can be escaped in default. It is desirable for web application.
  • Spaces around '<% %>' are trimmed automatically only when '<%' is at the beginning of line and '%>' is at the end of line.
  • Embedded pattern changeable (default '<% %>'), for example '[% %]' or '<? ?>' are available.
  • Enable to handle Processing Instructions (PI) as embedded pattern (ex. '<?rb ... ?>'). This is desirable for XML/HTML than '<% .. %>' because the latter breaks HTML design but the former doesn't.
  • Multi-language support (Ruby/PHP/C/Java/Scheme/Perl/Javascript).
  • Context object available and easy to combine eRuby template with YAML datafile (see the below example).
  • Print statement available.
  • Easy to expand and customize in subclass
    • Print statement support
    • Lines starting with percent character ('%') support
    • Another embedded pattern support
    • etc...
  • Ruby on Rails support.
  • Mod_ruby support.

eRuby means "embedded Ruby" in documents. Embedded patterns are '<% statement %>' and '<%= expression %>'. The following is an example of eRuby. '<% ... %>' means Ruby statement and '<%= ... %>' means Ruby expression.

Erubis is implemented in Ruby and is now ported into Java. You can use Erubis in Java with Rhino.




  • Erubis is released under the MIT License.
  • Erubis-J is released under the LGPL License.