module Haml::Filters::Javascript

Surrounds the filtered text with `<script>` and CDATA tags. Useful for including inline Javascript.

Public Instance Methods

render_with_options(text, options) click to toggle source

@see Haml::Filters::Base#render_with_options

# File lib/haml/filters.rb, line 211
def render_with_options(text, options)
  indent = options[:cdata] ? '    ' : '  ' # 4 or 2 spaces
  if options[:format] == :html5
    type = ''
  else
    type = " type=#{options[:attr_wrapper]}text/javascript#{options[:attr_wrapper]}"
  end

  str = "<script#{type}>\n"
  str << "  //<![CDATA[\n" if options[:cdata]
  str << "#{indent}#{text.rstrip.gsub("\n", "\n#{indent}")}\n"
  str << "  //]]>\n" if options[:cdata]
  str << "</script>"

  str
end