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 = <<END


      % for item in @items
    • <%= item %>

    • % end
      %% you can indent ‘%’ lines

    END
    eruby = MyEruby.new(input, :prefixchar=>’%’) # default ‘%’
    puts eruby.src

    output:
    _buf = ‘’; _buf << ’


      '; for item in @items
      _buf << ’
    • '; _buf << ( item ).to_s; _buf << ’

    • '; end
      % you can indent ‘%’ lines
      _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

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs