| Class | Tilt::ERBTemplate |
| In: |
lib/tilt/erb.rb
|
| Parent: | Template |
ERB template implementation. See: www.ruby-doc.org/stdlib/libdoc/erb/rdoc/classes/ERB.html
# File lib/tilt/erb.rb, line 9
9: def self.default_output_variable
10: @@default_output_variable
11: end
# File lib/tilt/erb.rb, line 13
13: def self.default_output_variable=(name)
14: @@default_output_variable = name
15: end
# File lib/tilt/erb.rb, line 21
21: def initialize_engine
22: require_template_library 'erb'
23: end
# File lib/tilt/erb.rb, line 58
58: def precompiled(locals)
59: source, offset = super
60: [source, offset + 1]
61: end
# File lib/tilt/erb.rb, line 45
45: def precompiled_postamble(locals)
46: "\#{super}\nensure\n\#{@outvar} = __original_outvar\nend\n"
47: end
# File lib/tilt/erb.rb, line 36
36: def precompiled_preamble(locals)
37: "begin\n__original_outvar = \#{@outvar} if defined?(\#{@outvar})\n\#{super}\n"
38: end
# File lib/tilt/erb.rb, line 31
31: def precompiled_template(locals)
32: source = @engine.src
33: source
34: end
# File lib/tilt/erb.rb, line 25
25: def prepare
26: @outvar = options[:outvar] || self.class.default_output_variable
27: options[:trim] = '<>' if !(options[:trim] == false) && (options[:trim].nil? || options[:trim] == true)
28: @engine = ::ERB.new(data, options[:safe], options[:trim], @outvar)
29: end