class Roda::RodaPlugins::ErubisEscaping::Eruby

Optimized subclass that fixes escaping of postfix conditionals.

Public Instance Methods

add_expr_escaped(src, code) click to toggle source

Fix bug in Erubis::EscapedEruby where postfix conditionals inside <%= %> are broken (e.g. <%= foo if bar %> ), and optimize by using a local variable instead of a constant lookup.

# File lib/roda/plugins/_erubis_escaping.rb, line 20
def add_expr_escaped(src, code)
  src << " #{@bufvar} << _erubis_xml_helper.escape_xml((" << code << '));'
end
convert_input(codebuf, input) click to toggle source

Set escaping class to a local variable, so you don’t need a constant lookup per escape.

Calls superclass method
# File lib/roda/plugins/_erubis_escaping.rb, line 12
def convert_input(codebuf, input)
  codebuf << '_erubis_xml_helper = Erubis::XmlHelper;'
  super
end