class Tilt::ERBTemplate

ERB template implementation. See: www.ruby-doc.org/stdlib/libdoc/erb/rdoc/classes/ERB.html

Public Class Methods

default_output_variable() click to toggle source
# File lib/tilt.rb, line 381
def self.default_output_variable
  @@default_output_variable
end
default_output_variable=(name) click to toggle source
# File lib/tilt.rb, line 385
def self.default_output_variable=(name)
  @@default_output_variable = name
end

Public Instance Methods

initialize_engine() click to toggle source
# File lib/tilt.rb, line 389
def initialize_engine
  return if defined? ::ERB
  require_template_library 'erb'
end
precompiled(locals) click to toggle source
# File lib/tilt.rb, line 424
def precompiled(locals)
  source, offset = super
  [source, offset + 1]
end
precompiled_postamble(locals) click to toggle source
# File lib/tilt.rb, line 412
def precompiled_postamble(locals)
  <<-RUBY
      #{super}
    ensure
      #{@outvar} = __original_outvar
    end
  RUBY
end
precompiled_preamble(locals) click to toggle source
# File lib/tilt.rb, line 404
def precompiled_preamble(locals)
  <<-RUBY
    begin
      __original_outvar = #{@outvar} if defined?(#{@outvar})
      #{super}
  RUBY
end
precompiled_template(locals) click to toggle source
# File lib/tilt.rb, line 399
def precompiled_template(locals)
  source = @engine.src
  source
end
prepare() click to toggle source
# File lib/tilt.rb, line 394
def prepare
  @outvar = options[:outvar] || self.class.default_output_variable
  @engine = ::ERB.new(data, options[:safe], options[:trim], @outvar)
end