Sha256: cd7be6ba19060e96ccf30e2480fc241cef87f77c9f10b574e5c52f8563353446
Contents?: true
Size: 993 Bytes
Versions: 1
Compression:
Stored size: 993 Bytes
Contents
class Gon module Escaper extend ActionView::Helpers::JavaScriptHelper extend ActionView::Helpers::TagHelper class << self def escape_unicode(javascript) if javascript result = escape_line_separator(escape_special_chars javascript) javascript.html_safe? ? result.html_safe : result end end def javascript_tag(content, type, cdata) type = { type: 'text/javascript' } if type content_tag(:script, javascript_cdata_section(content, cdata).html_safe, type) end def javascript_cdata_section(content, cdata) if cdata "\n//#{cdata_section("\n#{content}\n//")}\n" else "\n#{content}\n" end end private def escape_line_separator(javascript) javascript.gsub(/\\u2028/u, '
') end def escape_special_chars(javascript) javascript.gsub(/(\<)/u, '\u003c').gsub(/(\>)/u, '\u003e') end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gon-5.1.0 | lib/gon/escaper.rb |