Class Tilt::ErubisTemplate
In: lib/tilt.rb
Parent: ERBTemplate

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.

Methods

Public Instance methods

[Source]

     # File lib/tilt.rb, line 451
451:     def initialize_engine
452:       return if defined? ::Erubis
453:       require_template_library 'erubis'
454:     end

[Source]

     # File lib/tilt.rb, line 475
475:       def precompiled(locals)
476:         source, offset = super
477:         [source, offset - 1]
478:       end

[Source]

     # File lib/tilt.rb, line 468
468:     def precompiled_postamble(locals)
469:       ["_buf", super].join("\n")
470:     end

[Source]

     # File lib/tilt.rb, line 464
464:     def precompiled_preamble(locals)
465:       [super, "#{@outvar} = _buf = ''"].join("\n")
466:     end

[Source]

     # File lib/tilt.rb, line 456
456:     def prepare
457:       @options.merge!(:preamble => false, :postamble => false)
458:       @outvar = options.delete(:outvar) || self.class.default_output_variable
459:       engine_class = options.delete(:engine_class)
460:       engine_class = ::Erubis::EscapedEruby if options.delete(:escape_html)
461:       @engine = (engine_class || ::Erubis::Eruby).new(data, options)
462:     end

[Validate]