From: makoto kuwata Date: 2011-04-02T08:25:32+09:00 Subject: [ANN] Erubis 2.7.0 released Hi, I released Erubis 2.7.0. http://rubygems.org/gems/erubis http://rubyforge.org/frs/?group_id=1320 http://www.kuwata-lab.com/erubis/ Erubis is another eRuby implementation which is very fast and extensible than ERB and eruby. Changes in this release: Enhancements ------------ * New option ':bufvar' supported to specify buffer variable name. ex: input = "Hello <%= name %>!" eruby = Erubis::Eruby.new(input) puts eruby.src #=> _buf = ''; _buf << "Hello "; _buf << ( name ).to_s; _buf << '!'; eruby = Erubis::Eruby.new(input, :bufvar=>'@_out') puts eruby.src #=> @_out = ''; @_out << 'Hello '; @_out << ( name ).to_s; @_out << '!'; * New enhancer 'PrefixedLineEnhancer' which is a customizable version of PercentLineEnhancer. The difference between PrefixedLineEnhancer and PercentLineEnhancer is: * You can indent Ruby statetment lines starting with '%' * You can specify prefix character by :prefixchar option. ex: class MyEruby < Erubis::Eruby include Erubis::PrefixedLineEnhancer end input = < % for item in @items
  • <%= item %>
  • % end %% you can indent '%' lines END eruby = MyEruby.new(input, :prefixchar=>'%') # default '%' puts eruby.src output: _buf = ''; _buf << ' '; _buf.to_s * Add helper CGI script. See 'public_html/README.txt' for details. * Rubinius is supported as first-class Ruby implementation. * C++ support. Try '-l cpp' command-line option. Changes ------- * Remove dependency to 'abstract' library. You don't need to install 'abstract' gem. * Erubis::Eruby#load_file() now sets cache file timestamp to the same value as original eRuby file. For example, if you restore eRuby files from backup, Erubis::Eruby#load_file() can detect it and generate cache file again. ## generates cache file (A.rhtml.cache). eruby = Erubis::Eruby.load_file('A.rhtml') p File.mtime('A.rhtml') == File.mtime('A.rhtml.cache') #=> true -- regards, makoto kuwata