# Erubis 2.6.0 released - a fast and extensible eRuby

**URL:** <https://www.ruby-forum.com/t/erubis-2-6-0-released-a-fast-and-extensible-eruby/136689>\
**Category:** Ruby\
**Created:** [May 5, 2008, 3:51pm UTC](https://www.ruby-forum.com/t/erubis-2-6-0-released-a-fast-and-extensible-eruby/136689 "2008-05-05T15:51:12Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![makoto\_kuwata](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a4c791/32.png) [@makoto\_kuwata](https://www.ruby-forum.com/u/makoto_kuwata)\
**Post date:** [May 5, 2008, 3:51pm UTC](https://www.ruby-forum.com/t/erubis-2-6-0-released-a-fast-and-extensible-eruby/136689/1 "2008-05-05T15:51:12Z")

</div>

I have released Erubis 2.6.0.  
[http://www.kuwata-lab.com/erubis/](http://www.kuwata-lab.com/erubis/)  
[http://www.kuwata-lab.com/erubis/support/](http://www.kuwata-lab.com/erubis/support/)  
Erubis is another eRuby implementation which is very fast and  
extensible than ERB and eruby.

Enhancements from 2.5.0:

- Improved support of Ruby on Rails 2.0.2.  
New class ActionView::TemplateHandlers::Erubis is defined and  
registered as default handler of \*.html.erb and \*.rhtml.

- ‘\<%% %\>’ and ‘\<%%= %\>’ are converted into ‘\<% %\>’ and ‘\<%= %\>’  
respectively.  
This is for compatibility with ERB.

- ‘\<%= -%\>’ removes tailing spaces and newlines.  
This is for compatibiliy with ERB when trim mode is ‘-’.  
‘\<%= =%\>’ also removes tailing spaces and newlines, and this is  
Erubis-original enhancement (cooler than ‘\<%= -%\>’, isn’t it?).

- Erubis::Eruby.load\_file() now allows you to change cache filename.

---

<div class="post-metadata">

**Author:** ![makoto\_kuwata](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a4c791/32.png) [@makoto\_kuwata](https://www.ruby-forum.com/u/makoto_kuwata)\
**Post date:** [May 5, 2008, 6:24pm UTC](https://www.ruby-forum.com/t/erubis-2-6-0-released-a-fast-and-extensible-eruby/136689/2 "2008-05-05T18:24:12Z")

</div>

makoto kuwata [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I have released Erubis 2.6.0.

i do have the same security prob with this version, here is my Apache2  
log :  
[Mon May 05 17:51:45 2008] [notice] Apache/2.2.8 (Unix) mod\_ssl/2.2.8  
OpenSSL/0.9.8g DAV/2 mod\_ruby/1.2.6 Ruby/1.8.6(2007-09-24) PHP/5.2.5  
configured – resuming normal operations  
[Mon May 05 17:53:16 2008] [error] [client 127.0.0.1] File does not  
exist: /Users/yt/Sites/favicon.ico  
[Mon May 05 17:53:18 2008] [error] mod\_ruby: error in ruby  
[Mon May 05 17:53:18 2008] [error] mod\_ruby:  
/opt/local/lib/ruby/gems/1.8/gems/erubis-2.6.0/lib/erubis/evaluator.rb:6  
2:in `eval': Insecure operation - eval (SecurityError) [Mon May 05 17:53:18 2008] [error] mod_ruby: from /opt/local/lib/ruby/gems/1.8/gems/erubis-2.6.0/lib/erubis/evaluator.rb:6 2:in `result’  
[Mon May 05 17:53:18 2008] [error] mod\_ruby: from  
/Users/yt/Sites/erubis/example3.rbx:15  
[Mon May 05 17:53:18 2008] [error] mod\_ruby: from  
/opt/local/lib/ruby/1.8/apache/ruby-run.rb:53:in `load' [Mon May 05 17:53:18 2008] [error] mod_ruby: from /opt/local/lib/ruby/1.8/apache/ruby-run.rb:53:in `handler’

example3.rbx is the same as yours, i’ve only changed extension to .rbx :  
#! /usr/bin/env ruby -wx

# example3.rb

require ‘rubygems’  
require ‘erubis’

input=File.read(‘example3.eruby’)  
eruby=Erubis::EscapedEruby.new(input)

puts “-------- script source —”  
puts eruby.src  
puts “-------- result ----------”  
list=[‘’, ‘b&b’, ‘“ccc”’]  
puts eruby.result(binding())

---

<div class="post-metadata">

**Author:** ![makoto\_kuwata](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a4c791/32.png) [@makoto\_kuwata](https://www.ruby-forum.com/u/makoto_kuwata)\
**Post date:** [May 8, 2008, 1:35am UTC](https://www.ruby-forum.com/t/erubis-2-6-0-released-a-fast-and-extensible-eruby/136689/3 "2008-05-08T01:35:41Z")

</div>

removed\_email\_address@domain.invalid wrote:

> - Improved support of Ruby on Rails 2.0.2.  
> New class ActionView::TemplateHandlers::Erubis is defined and  
> registered as default handler of \*.html.erb and \*.rhtml.

Doesn’t work over here with Rails 2.0.2 and Erubis 2.6.0. The reason is  
because ActionView::Base doesn’t have methods  
register\_default\_template\_handler nor register\_template\_handler. Those  
are  
now in ActionView::Template.

I’ve posted a bug at Erubis’ tracker  
([http://rubyforge.org/tracker/index.php?func=detail&aid=20015&group\_id=1320&atid=5201](http://rubyforge.org/tracker/index.php?func=detail&aid=20015&group_id=1320&atid=5201))  
that includes the simple fix (change “Base.class\_eval” to  
“Template.class\_eval”).

Dave
