| Module | Erubis::JavaGenerator |
| In: |
lib/erubis/engine/ejava.rb
|
# File lib/erubis/engine/ejava.rb, line 69
69: def add_expr_debug(src, code)
70: code.strip!
71: src << @indent if src.empty? || src[-1] == ?\n
72: src << " System.err.println(\"*** debug: #{code}=\"+(#{code}));"
73: end
# File lib/erubis/engine/ejava.rb, line 65
65: def add_expr_escaped(src, code)
66: add_expr_literal(src, escaped_expr(code))
67: end
# File lib/erubis/engine/ejava.rb, line 59
59: def add_expr_literal(src, code)
60: src << @indent if src.empty? || src[-1] == ?\n
61: code.strip!
62: src << " #{@buf}.append(#{code});"
63: end
# File lib/erubis/engine/ejava.rb, line 75
75: def add_postamble(src)
76: src << "\n" if src[-1] == ?;
77: src << @indent << "return " << @buf << ".toString();\n"
78: #src << @indent << "System.out.print(" << @buf << ".toString());\n"
79: end
# File lib/erubis/engine/ejava.rb, line 33
33: def add_preamble(src)
34: src << "#{@indent}#{@bufclass} #{@buf} = new #{@bufclass}();"
35: end
# File lib/erubis/engine/ejava.rb, line 42
42: def add_text(src, text)
43: return if text.empty?
44: src << (src.empty? || src[-1] == ?\n ? @indent : ' ')
45: src << @buf << ".append("
46: i = 0
47: text.each_line do |line|
48: src << "\n" << @indent << ' + ' if i > 0
49: i += 1
50: src << '"' << escape_text(line) << '"'
51: end
52: src << ");" << (text[-1] == ?\n ? "\n" : "")
53: end
# File lib/erubis/engine/ejava.rb, line 37
37: def escape_text(text)
38: @@table_ ||= { "\r"=>"\\r", "\n"=>"\\n", "\t"=>"\\t", '"'=>'\\"', "\\"=>"\\\\" }
39: return text.gsub!(/[\r\n\t"\\]/) { |m| @@table_[m] } || text
40: end