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.
# File lib/tilt.rb, line 445 445: def initialize_engine 446: return if defined? ::Erubis 447: require_template_library 'erubis' 448: end
# File lib/tilt.rb, line 469 469: def precompiled(locals) 470: source, offset = super 471: [source, offset - 1] 472: end
# File lib/tilt.rb, line 462 462: def precompiled_postamble(locals) 463: ["_buf", super].join("\n") 464: end
# File lib/tilt.rb, line 458 458: def precompiled_preamble(locals) 459: [super, "#{@outvar} = _buf = ''"].join("\n") 460: end
# File lib/tilt.rb, line 450 450: def prepare 451: @options.merge!(:preamble => false, :postamble => false) 452: @outvar = options.delete(:outvar) || self.class.default_output_variable 453: engine_class = options.delete(:engine_class) 454: engine_class = ::Erubis::EscapedEruby if options.delete(:escape_html) 455: @engine = (engine_class || ::Erubis::Eruby).new(data, options) 456: end