Class | Tilt::ErubisTemplate |
In: |
lib/tilt/erb.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.
# File lib/tilt/erb.rb, line 82 82: def initialize_engine 83: require_template_library 'erubis' 84: end
# File lib/tilt/erb.rb, line 105 105: def precompiled(locals) 106: source, offset = super 107: [source, offset - 1] 108: end
# File lib/tilt/erb.rb, line 98 98: def precompiled_postamble(locals) 99: [@outvar, super].join("\n") 100: end
# File lib/tilt/erb.rb, line 94 94: def precompiled_preamble(locals) 95: [super, "#{@outvar} = _buf = ''"].join("\n") 96: end
# File lib/tilt/erb.rb, line 86 86: def prepare 87: @outvar = options.delete(:outvar) || self.class.default_output_variable 88: @options.merge!(:preamble => false, :postamble => false, :bufvar => @outvar) 89: engine_class = options.delete(:engine_class) 90: engine_class = ::Erubis::EscapedEruby if options.delete(:escape_html) 91: @engine = (engine_class || ::Erubis::Eruby).new(data, options) 92: end