Module: Haml::Filters::ERB

Includes:
Base
Defined in:
lib/haml/filters.rb

Overview

Parses the filtered text with ERB, like an RHTML template. Not available if the :suppress_eval option is set to true. Embedded Ruby code is evaluated in the same context as the Haml template.

Instance Method Summary collapse

Methods included from Base

included, #internal_compile, #lazy_require, #render, #render_with_options

Instance Method Details

#compile(precompiler, text) ⇒ Object

See Also:



282
283
284
285
286
287
# File 'lib/haml/filters.rb', line 282

def compile(precompiler, text)
  return if precompiler.options[:suppress_eval]
  src = ::ERB.new(text).src.sub(/^#coding:.*?\n/, '').
    sub(/^_erbout = '';/, "").gsub("\n", ';')
  precompiler.send(:push_silent, src)
end