module Padrino::Rendering::SafeBufferEnhancer

def add_expr_escaped(src, code)

def add_expr_escaped(src, code)
  src << " #{@bufvar}.safe_concat " << code << ';'
end

def add_expr_literal(src, code)

def add_expr_literal(src, code)
  src << " @__in_ruby_literal = true; #{@bufvar}.concat((" << code << ').to_s); @__in_ruby_literal = false;'
end

def add_stmt(src, code)

def add_stmt(src, code)
  code = code.sub('end', 'nil;end') if code =~ /\A\s*end\s*\Z/
  src << code
  src << ';' unless code[-1] == ?\n
end

def add_text(src, text)

def add_text(src, text)
  src << " #{@bufvar}.safe_concat '" << escape_text(text) << "';" unless text.empty?
end