Included Modules

Class Index [+]

Quicksearch

Erubis::CGenerator

Public Instance Methods

add_expr_debug(src, code) click to toggle source
    # File lib/erubis/engine/ec.rb, line 72
72:     def add_expr_debug(src, code)
73:       code.strip!
74:       s = nil
75:       if code =~ /\A\".*?\"\s*,\s*(.*)/
76:         s = $1.gsub(/[%"]/, '\\1') + '='
77:       end
78:       src << @indent if src.empty? || src[1] == \n\
79:       src << " fprintf(stderr, \"*** debug: #{s}\" #{code});"
80:     end
add_expr_escaped(src, code) click to toggle source
    # File lib/erubis/engine/ec.rb, line 67
67:     def add_expr_escaped(src, code)
68:       src << @indent if src.empty? || src[1] == \n\
69:       src << ' ' << escaped_expr(code) << ';'
70:     end
add_expr_literal(src, code) click to toggle source
    # File lib/erubis/engine/ec.rb, line 62
62:     def add_expr_literal(src, code)
63:       src << @indent if src.empty? || src[1] == \n\
64:       src << " fprintf(#{@out}, " << code.strip << ');'
65:     end
add_postamble(src) click to toggle source
    # File lib/erubis/engine/ec.rb, line 82
82:     def add_postamble(src)
83:       # empty
84:     end
add_preamble(src) click to toggle source
    # File lib/erubis/engine/ec.rb, line 30
30:     def add_preamble(src)
31:       src << "#line 1 \"#{self.filename}\"\n" if self.filename
32:     end
add_stmt(src, code) click to toggle source
    # File lib/erubis/engine/ec.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/ec.rb, line 44
44:     def add_text(src, text)
45:       return if text.empty?
46:       src << (src.empty? || src[1] == \n\ ? @indent : ' ')
47:       src << "fputs("
48:       i = 0
49:       text.each_line do |line|
50:         src << "\n" << @indent << '      ' if i > 0
51:         i += 1
52:         src << '"' << escape_text(line) << '"'
53:       end
54:       src << ", #{@out});"   #<< (text[-1] == ?\n ? "\n" : "")
55:       src << "\n" if text[1] == \n\
56:     end
escape_text(text) click to toggle source
    # File lib/erubis/engine/ec.rb, line 34
34:     def escape_text(text)
35:       @@table_ ||= { "\r"=>"\\r", "\n"=>"\\n", "\t"=>"\\t", '"'=>'\"', "\\"=>"\\\\" }
36:       text.gsub!(/[\r\n\t"\\]/) { |m| @@table_[m] }
37:       return text
38:     end
escaped_expr(code) click to toggle source
    # File lib/erubis/engine/ec.rb, line 40
40:     def escaped_expr(code)
41:       return "#{@escapefunc}(#{code.strip}, #{@out})"
42:     end
init_generator(properties={}) click to toggle source
    # File lib/erubis/engine/ec.rb, line 23
23:     def init_generator(properties={})
24:       super
25:       @escapefunc ||= "escape"
26:       @indent = properties[:indent] || ''
27:       @out = properties[:out] || 'stdout'
28:     end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.