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