module Gon::Escaper

Public Class Methods

escape_unicode(javascript) click to toggle source
# File lib/gon/escaper.rb, line 8
def escape_unicode(javascript)
  if javascript
    result = escape_line_separator(javascript)
    javascript.html_safe? ? result.html_safe : result
  end
end
javascript_cdata_section(content, cdata) click to toggle source
# File lib/gon/escaper.rb, line 23
def javascript_cdata_section(content, cdata)
  if cdata
    "\n//#{cdata_section("\n#{content}\n//")}\n"
  else
    "\n#{content}\n"
  end
end
javascript_tag(content, type, cdata, nonce) click to toggle source
# File lib/gon/escaper.rb, line 15
def javascript_tag(content, type, cdata, nonce)
  options = {}
  options.merge!( { type: 'text/javascript' } ) if type
  options.merge!( { nonce: nonce } ) if nonce

  content_tag(:script, javascript_cdata_section(content, cdata).html_safe, options)
end

Private Class Methods

escape_line_separator(javascript) click to toggle source
# File lib/gon/escaper.rb, line 33
def escape_line_separator(javascript)
  javascript.gsub(/\u2028/u, '
')
end