README.rdoc in erubi-1.4.0 vs README.rdoc in erubi-1.5.0
- old
+ new
@@ -1,9 +1,9 @@
= Erubi
-Erubi is a ERB template engine for ruby. It is a simplified fork of Erubis, with
-the following differences:
+Erubi is a ERB template engine for ruby. It is a simplified fork of Erubis, using
+the same basic algorithm, with the following differences:
* Handles postfix conditionals when using escaping (e.g. <tt><%= foo if bar %></tt>)
* Supports frozen_string_literal: true in templates via :freeze option
* Works with ruby's --enable-frozen-string-literal option
* Automatically freezes strings for template text when ruby optimizes it (on ruby 2.1+)
@@ -29,25 +29,20 @@
Source code is available on GitHub at https://github.com/jeremyevans/erubi
= Usage
-The expected usage is via tilt, and erubi ships with tilt 2 integration:
+Erubi only has built in support for retrieving the generated source for a
+file:
- require 'tilt/erubi'
- Tilt.new("filename.erb").render
-
-Requiring +tilt/erubi+ sets erubi as the default erb/rhtml template processor
-for tilt. In most cases, you can use Erubi as a replacement for Erubis if
-you are using tilt.
-
-You can use the library manually, but it's only useful to get the generated
-source:
-
require 'erubi'
eval(Erubi::Engine.new(File.read('filename.erb')).src)
+Most users are will probably use Erubi via Rails or Tilt. Erubi is the default
+erb template handler in Tilt 2.0.6+ and will be the default template handler in
+Rails 5.1+.
+
== Capturing
Erubi does not support capturing block output into the template by default.
However, it comes with an +erubi/capture_end+ file that supports capturing
via <tt><%|=</tt>, <tt><%|==</tt>, <tt><%|</tt> tags:
@@ -60,9 +55,15 @@
tags, but without the corner cases with that approach (which are due to
attempting to parse ruby code via a regexp). Similar to the <tt><%=</tt>
and <tt><%==</tt> tags, <tt><%|=</tt> captures by default and
<tt><%|==</tt> captures and escapes by default, but this can be reversed
via the +:escape_capture+ or +:escape+ options.
+
+To use the capture_end support with tilt:
+
+ require 'tilt'
+ require 'erubi/capture_end'
+ Tilt.new("filename.erb", :engine_class=>Erubi::CaptureEndEngine).render
= Reporting Bugs
The bug tracker is located at https://github.com/jeremyevans/erubi/issues