| Module | Erubis::RubyGenerator |
| In: |
lib/erubis/engine/eruby.rb
|
code generator for Ruby
# File lib/erubis/engine/eruby.rb, line 63
63: def add_expr_debug(src, code)
64: code.strip!
65: s = (code.dump =~ /\A"(.*)"\z/) && $1
66: src << ' $stderr.puts("*** debug: ' << s << '=#{(' << code << ').inspect}");'
67: end
# File lib/erubis/engine/eruby.rb, line 59
59: def add_expr_escaped(src, code)
60: src << ' _buf << ' << escaped_expr(code) << ';'
61: end
# File lib/erubis/engine/eruby.rb, line 55
55: def add_expr_literal(src, code)
56: src << ' _buf << (' << code << ').to_s;'
57: end
# File lib/erubis/engine/eruby.rb, line 49
49: def add_stmt(src, code)
50: #src << code << ';'
51: src << code
52: src << ';' unless code[-1] == ?\n
53: end
# File lib/erubis/engine/eruby.rb, line 45
45: def add_text(src, text)
46: src << " _buf << '" << escape_text(text) << "';" unless text.empty?
47: end
# File lib/erubis/engine/eruby.rb, line 31
31: def escape_text(text)
32: text.gsub(/['\\]/, '\\\\\&') # "'" => "\\'", '\\' => '\\\\'
33: end
# File lib/erubis/engine/eruby.rb, line 35
35: def escaped_expr(code)
36: return "#{@escapefunc}(#{code})"
37: end