ERB template implementation. See: www.ruby-doc.org/stdlib/libdoc/erb/rdoc/classes/ERB.html
# File lib/tilt/erb.rb, line 9 def self.default_output_variable @@default_output_variable end
# File lib/tilt/erb.rb, line 13 def self.default_output_variable=(name) @@default_output_variable = name end
# File lib/tilt/erb.rb, line 17 def self.engine_initialized? defined? ::ERB end
# File lib/tilt/erb.rb, line 21 def initialize_engine require_template_library 'erb' end
# File lib/tilt/erb.rb, line 56 def precompiled(locals) source, offset = super [source, offset + 1] end
# File lib/tilt/erb.rb, line 44 def precompiled_postamble(locals) <<-RUBY #{super} ensure #{@outvar} = __original_outvar end RUBY end
# File lib/tilt/erb.rb, line 36 def precompiled_preamble(locals) <<-RUBY begin __original_outvar = #{@outvar} if defined?(#{@outvar}) #{super} RUBY end
# File lib/tilt/erb.rb, line 31 def precompiled_template(locals) source = @engine.src source end
# File lib/tilt/erb.rb, line 25 def prepare @outvar = options[:outvar] || self.class.default_output_variable options[:trim] = '<>' if !(options[:trim] == false) && (options[:trim].nil? || options[:trim] == true) @engine = ::ERB.new(data, options[:safe], options[:trim], @outvar) end