M
makoto kuwata
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 refixchar option.
ex:
class MyEruby < Erubis::Eruby
include Erubis:refixedLineEnhancer
end
input = <<END
<ul>
% for item in @items
<li><%= item %></li>
% end
%% you can indent '%' lines
</ul>
END
eruby = MyEruby.new(input, refixchar=>'%') # default '%'
puts eruby.src
output:
_buf = ''; _buf << '<ul>
'; for item in @items
_buf << ' <li>'; _buf << ( item ).to_s; _buf << '</li>
'; end
% you can indent '%' lines
_buf << '</ul>
';
_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
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 refixchar option.
ex:
class MyEruby < Erubis::Eruby
include Erubis:refixedLineEnhancer
end
input = <<END
<ul>
% for item in @items
<li><%= item %></li>
% end
%% you can indent '%' lines
</ul>
END
eruby = MyEruby.new(input, refixchar=>'%') # default '%'
puts eruby.src
output:
_buf = ''; _buf << '<ul>
'; for item in @items
_buf << ' <li>'; _buf << ( item ).to_s; _buf << '</li>
'; end
% you can indent '%' lines
_buf << '</ul>
';
_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