Class: Tilt::ErubisTemplate
- Inherits:
-
ERBTemplate
- Object
- Template
- ERBTemplate
- Tilt::ErubisTemplate
- Defined in:
- lib/tilt/erubis.rb
Overview
Erubis template implementation. See: www.kuwata-lab.com/erubis/
ErubisTemplate supports the following additional options, which are not passed down to the Erubis engine:
:engine_class allows you to specify a custom engine class to use
instead of the default (which is ::Erubis::Eruby).
:escape_html when true, ::Erubis::EscapedEruby will be used as
the engine class instead of the default. All content
within <%= %> blocks will be automatically html escaped.
Constant Summary
Constants inherited from ERBTemplate
Tilt::ERBTemplate::SUPPORTS_KVARGS
Instance Attribute Summary
Attributes inherited from Template
#compiled_path, #data, #file, #line, #options
Instance Method Summary collapse
- #freeze_string_literals? ⇒ Boolean
-
#precompiled(locals) ⇒ Object
Erubis doesn’t have ERB’s line-off-by-one under 1.9 problem.
- #precompiled_postamble(locals) ⇒ Object
- #precompiled_preamble(locals) ⇒ Object
- #prepare ⇒ Object
Methods inherited from ERBTemplate
default_output_variable, default_output_variable=, #precompiled_template
Methods inherited from Template
#basename, default_mime_type, default_mime_type=, #eval_file, #initialize, metadata, #metadata, #name, #render
Constructor Details
This class inherits a constructor from Tilt::Template
Instance Method Details
#freeze_string_literals? ⇒ Boolean
42 43 44 |
# File 'lib/tilt/erubis.rb', line 42 def freeze_string_literals? @freeze_string_literals end |
#precompiled(locals) ⇒ Object
Erubis doesn’t have ERB’s line-off-by-one under 1.9 problem. Override and adjust back.
37 38 39 40 |
# File 'lib/tilt/erubis.rb', line 37 def precompiled(locals) source, offset = super [source, offset - 1] end |
#precompiled_postamble(locals) ⇒ Object
31 32 33 |
# File 'lib/tilt/erubis.rb', line 31 def precompiled_postamble(locals) [@outvar, super].join("\n") end |
#precompiled_preamble(locals) ⇒ Object
27 28 29 |
# File 'lib/tilt/erubis.rb', line 27 def precompiled_preamble(locals) [super, "#{@outvar} = _buf = String.new"].join("\n") end |
#prepare ⇒ Object
18 19 20 21 22 23 24 25 |
# File 'lib/tilt/erubis.rb', line 18 def prepare @freeze_string_literals = !!@options.delete(:freeze) @outvar = .delete(:outvar) || self.class.default_output_variable @options.merge!(:preamble => false, :postamble => false, :bufvar => @outvar) engine_class = .delete(:engine_class) engine_class = ::Erubis::EscapedEruby if .delete(:escape_html) @engine = (engine_class || ::Erubis::Eruby).new(data, ) end |