Module: Revelio::SlimTemplateExtension
- Includes:
- TemplateType
- Defined in:
- lib/revelio/slim_template_extension.rb
Instance Method Summary collapse
Methods included from TemplateType
#resolve_template_info, #template_type
Instance Method Details
#call(template, source = nil) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/revelio/slim_template_extension.rb', line 7 def call(template, source = nil) compiled = super return compiled unless Revelio.config.debug_mode relative, type, short = resolve_template_info(template) preamble = %{<!-- revelio-begin file="#{relative}" type="#{type}" short="#{short}" -->} postamble = %{<!-- revelio-end file="#{relative}" -->} # Insert preamble AFTER buffer initialization, postamble at the end result = compiled.sub( "@output_buffer = output_buffer || ActionView::OutputBuffer.new;", "@output_buffer = output_buffer || ActionView::OutputBuffer.new; @output_buffer.safe_append='#{preamble}';" ) "#{result}\n@output_buffer.safe_append='#{postamble}';\n@output_buffer" end |