class Tilt::ERBTemplate

def freeze_string_literals?

def freeze_string_literals?
  @freeze_string_literals
end

def precompiled(locals)

source in 1.9. Account for this in the line offset.
ERB generates a line to specify the character coding of the generated
def precompiled(locals)
  source, offset = super
  [source, offset + 1]
end

def precompiled_postamble(locals)

def precompiled_postamble(locals)
  <<-RUBY
      #{super}
    ensure
      #{@outvar} = __original_outvar
    end
  RUBY
end

def precompiled_preamble(locals)

def precompiled_preamble(locals)
  <<-RUBY
    begin
      __original_outvar = #{@outvar} if defined?(#{@outvar})
      #{super}
  RUBY
end

def precompiled_template(locals)

def precompiled_template(locals)
  source = @engine.src
  source
end

def prepare

def prepare
  @freeze_string_literals = !!@options[:freeze]
  @outvar = @options[:outvar] || '_erbout'
  trim = case @options[:trim]
  when false
    nil
  when nil, true
    '<>'
  else
    @options[:trim]
  end
  @engine = if SUPPORTS_KVARGS
    ::ERB.new(@data, trim_mode: trim, eoutvar: @outvar)
  # :nocov:
  else
    ::ERB.new(@data, options[:safe], trim, @outvar)
  # :nocov:
  end
end