Class | Erubis::Ejavascript |
In: |
erubis/engine/ejavascript.rb
|
Parent: | Engine |
engine for JavaScript
# File erubis/engine/ejavascript.rb, line 26 def initialize(input, properties={}) @indent = properties[:indent] || '' @buf = properties[:out] || '_buf' #@bufclass = properties[:outclass] || 'StringBuffer' super end
# File erubis/engine/ejavascript.rb, line 80 def add_expr_debug(src, code) add_indent(src, @indent) code.strip! src << "alert(\"*** debug: #{code}=\"+(#{code}));" end
# File erubis/engine/ejavascript.rb, line 75 def add_expr_escaped(src, code) add_indent(src, @indent) src << @buf << '.push(' << escaped_expr(code) << ');' end
# File erubis/engine/ejavascript.rb, line 70 def add_expr_literal(src, code) add_indent(src, @indent) src << @buf << '.push(' << code.strip << ');' end
# File erubis/engine/ejavascript.rb, line 49 def add_indent(src, indent) src << (src.empty? || src[-1] == ?\n ? indent : ' ') end
# File erubis/engine/ejavascript.rb, line 86 def add_postamble(src) src << "\n" if src[-1] == ?; src << @indent << 'document.write(' << @buf << ".join(\"\"));\n" end
# File erubis/engine/ejavascript.rb, line 33 def add_preamble(src) src << "#{@indent}var #{@buf} = [];" end
# File erubis/engine/ejavascript.rb, line 53 def add_text(src, text) return if text.empty? add_indent(src, @indent) src << @buf << '.push("' s = escape_text(text) if s[-1] == ?\n s[-2, 2] = '' src << s << "\");\n" else src << s << "\");" end end