module Erubis::PerlGenerator
Public Instance Methods
add_expr_debug(src, code)
click to toggle source
# File lib/erubis/engine/eperl.rb, line 49 def add_expr_debug(src, code) code.strip! s = code.gsub(/\/, "\\'") src << @func << "('*** debug: #{code}=', #{code}, \"\\n\");" end
add_expr_escaped(src, code)
click to toggle source
# File lib/erubis/engine/eperl.rb, line 45 def add_expr_escaped(src, code) add_expr_literal(src, escaped_expr(code)) end
add_expr_literal(src, code)
click to toggle source
# File lib/erubis/engine/eperl.rb, line 40 def add_expr_literal(src, code) code.strip! src << @func << "(" << code << "); " end
add_postamble(src)
click to toggle source
# File lib/erubis/engine/eperl.rb, line 59 def add_postamble(src) src << "\n" unless src[-1] == ?\n end
add_preamble(src)
click to toggle source
# File lib/erubis/engine/eperl.rb, line 28 def add_preamble(src) src << "use HTML::Entities; "; end
add_stmt(src, code)
click to toggle source
# File lib/erubis/engine/eperl.rb, line 55 def add_stmt(src, code) src << code end
add_text(src, text)
click to toggle source
# File lib/erubis/engine/eperl.rb, line 36 def add_text(src, text) src << @func << "('" << escape_text(text) << "'); " unless text.empty? end
escape_text(text)
click to toggle source
# File lib/erubis/engine/eperl.rb, line 32 def escape_text(text) return text.gsub!(/['\]/, '\\\&') || text end
init_generator(properties={})
click to toggle source
Calls superclass method
Erubis::Generator#init_generator
# File lib/erubis/engine/eperl.rb, line 22 def init_generator(properties={}) super @escapefunc ||= 'encode_entities' @func = properties[:func] || 'print' end