# File lib/erubis/engine/ejavascript.rb, line 72
72: def add_expr_debug(src, code)
73: add_indent(src, @indent)
74: code.strip!
75: src << "alert(\"*** debug: #{code}=\"+(#{code}));"
76: end
# File lib/erubis/engine/ejavascript.rb, line 68
68: def add_expr_escaped(src, code)
69: add_expr_literal(src, escaped_expr(code))
70: end
# File lib/erubis/engine/ejavascript.rb, line 62
62: def add_expr_literal(src, code)
63: add_indent(src, @indent)
64: code.strip!
65: src << "#{@buf}.push(#{code});"
66: end
# File lib/erubis/engine/ejavascript.rb, line 41
41: def add_indent(src, indent)
42: src << (src.empty? || src[1] == \n\ ? indent : ' ')
43: end
# File lib/erubis/engine/ejavascript.rb, line 78
78: def add_postamble(src)
79: src << "\n" if src[1] == ;;
80: if @docwrite
81: src << @indent << 'document.write(' << @buf << ".join(\"\"));\n"
82: else
83: src << @indent << @buf << ".join(\"\");\n"
84: end
85: end
# File lib/erubis/engine/ejavascript.rb, line 32
32: def add_preamble(src)
33: src << "#{@indent}var #{@buf} = [];"
34: end
# File lib/erubis/engine/ejavascript.rb, line 58
58: def add_stmt(src, code)
59: src << code
60: end
# File lib/erubis/engine/ejavascript.rb, line 45
45: def add_text(src, text)
46: return if text.empty?
47: add_indent(src, @indent)
48: src << @buf << '.push("'
49: s = escape_text(text)
50: if s[1] == \n\
51: s[2, 2] = ''
52: src << s << "\");\n"
53: else
54: src << s << "\");"
55: end
56: end
# File lib/erubis/engine/ejavascript.rb, line 36
36: def escape_text(text)
37: @@table_ ||= { "\r"=>"\\r", "\n"=>"\\n\\\n", "\t"=>"\\t", '"'=>'\"', "\\"=>"\\\\" }
38: return text.gsub!(/[\r\n\t"\\]/) { |m| @@table_[m] } || text
39: end
# File lib/erubis/engine/ejavascript.rb, line 24
24: def init_generator(properties={})
25: super
26: @escapefunc ||= 'escape'
27: @indent = properties[:indent] || ''
28: @buf = properties[:out] || '_buf'
29: @docwrite = properties[:docwrite] != false # '!= false' will be removed in the next release
30: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.