# Erubis 1.1.0 - an implementation of eRuby

**URL:** <https://www.ruby-forum.com/t/erubis-1-1-0-an-implementation-of-eruby/54472>\
**Category:** Ruby\
**Created:** [March 6, 2006, 3:55pm UTC](https://www.ruby-forum.com/t/erubis-1-1-0-an-implementation-of-eruby/54472 "2006-03-06T15:55:35Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![kwatch](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/76d3ee/32.png) [@kwatch](https://www.ruby-forum.com/u/kwatch)\
**Post date:** [March 6, 2006, 3:55pm UTC](https://www.ruby-forum.com/t/erubis-1-1-0-an-implementation-of-eruby/54472/1 "2006-03-06T15:55:35Z")

</div>

I have released Erubis 1.1.0.  
[http://rubyforge.org/projects/erubis/](http://rubyforge.org/projects/erubis/)

Erubis is an implementation of eRuby.  
It has the following features:

- Auto sanitizing support
- Embedded pattern changeable (default ‘\<% %\>’)
- Auto trimming spaces around ‘\<% %\>’
- Context object available
- Print statement available
- Faster mode support
- Easy to expand in subclass

Erubis is implemented in pure Ruby. It requires Ruby 1.8 or higher.

## Sample code (example.rb):

## eRuby script

## (‘\<%= %\>’ is escaped and ‘\<%== %\>’ is not escaped when XmlEruby)

input = \<\<END

 \<% for item in list %\> - \<%= item %\> \<%== item %\>
 \<% end %\>
END
## create Eruby object

require ‘erubis’  
eruby = Erubis::XmlEruby.new(input) # or Erubis::Eruby.new(input)

## get result

## list = [‘’, ‘b&b’, ‘“ccc”’] puts eruby.result(binding())

# result:

$ ruby example.rb

- \<aaa\> 
- b&b b&b
- "ccc" "ccc"

====================

See doc/users-guide.html in archive for details.

: Enhancement from 1.0.1

- ‘\<%# … %\>’ supported. Erubis ignores ‘\<%# %\>’.

- New class PrintEruby and PrintXmlEruby available.  
These class enables you to embed print statement in eRuby  
(this feature is not supported in ERB).

Have fun!

---

<div class="post-metadata">

**Author:** ![kwatch](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/76d3ee/32.png) [@kwatch](https://www.ruby-forum.com/u/kwatch)\
**Post date:** [March 7, 2006, 3:53am UTC](https://www.ruby-forum.com/t/erubis-1-1-0-an-implementation-of-eruby/54472/2 "2006-03-07T03:53:57Z")

</div>

On 3/6/06, kwatch [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> - Print statement available
> 
> ```
> <aaa></li>
> 
> ```
> 
> : Enhancement from 1.0.1  
> list = [‘aaa’, ‘bbb’, ‘ccc’]  
> END  
> $ ruby example.rb  
> regards,  
> kwatch

Nice work, very cool features.  
But can we replace current erb usage in Rails without any problem?  
I’ve used some hackish ‘concat string, binding’.
