Included Modules

Class Index [+]

Quicksearch

Erubis::JavascriptGenerator

Public Instance Methods

add_expr_debug(src, code) click to toggle source
    # 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
add_expr_escaped(src, code) click to toggle source
    # 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
add_expr_literal(src, code) click to toggle source
    # 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
add_indent(src, indent) click to toggle source
    # File lib/erubis/engine/ejavascript.rb, line 41
41:     def add_indent(src, indent)
42:       src << (src.empty? || src[1] == \n\ ? indent : ' ')
43:     end
add_postamble(src) click to toggle source
    # 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
add_preamble(src) click to toggle source
    # File lib/erubis/engine/ejavascript.rb, line 32
32:     def add_preamble(src)
33:       src << "#{@indent}var #{@buf} = [];"
34:     end
add_stmt(src, code) click to toggle source
    # File lib/erubis/engine/ejavascript.rb, line 58
58:     def add_stmt(src, code)
59:       src << code
60:     end
add_text(src, text) click to toggle source
    # 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
escape_text(text) click to toggle source
    # 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
init_generator(properties={}) click to toggle source
    # 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.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.