On 3/6/06, kwatch <kwa / kuwata-lab.com> wrote:> I have released Erubis 1.1.0.> 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> <ul>>   <% for item in list %>>   <li><%= item %>>       <%== item %></li>>   <% end %>> </ul>> END>> ## create Eruby object> require 'erubis'> eruby = Erubis::XmlEruby.new(input)     # or Erubis::Eruby.new(input)>> ## get result> list = ['<aaa>', 'b&b', '"ccc"']> puts eruby.result(binding())> -------------------->> result:> ====================> $ ruby example.rb> <ul>>   <li>&lt;aaa&gt;>       <aaa></li>>   <li>b&amp;b>       b&b</li>>   <li>&quot;ccc&quot;>       "ccc"</li>> </ul>> ====================>> 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).>>     ex.  example.eb>     -------------------->     ## data and context>     list = ['aaa', 'bbb', 'ccc']>     context = { :list => list }>>     ## eRuby script>     ## (use print statement instead of <%= item %>)>     input = <<-END>     <ul>>      <% for item in list %>>       <li><% print item %></li>>      <% end %>>     </ul>>     END>>     ## create eruby and get result as string>     require 'erubis'>     eruby = Erubis::PrintEruby.new(input)>     str = eruby.evaluate(context)    # don't use result()!>     print str>     -------------------->>     result:>     ====================>     $ ruby example.rb>     <ul>>       <li>aaa</li>>       <li>bbb</li>>       <li>ccc</li>>     </ul>>     ====================>> Have fun!>> --> 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'.
--http://nohmad.sub-port.net