Module: Rack::Tracker::JavaScriptHelper
- Included in:
- GoogleAnalytics::Parameter, Handler
- Defined in:
- lib/rack/tracker/javascript_helper.rb
Overview
This module is extracted from Rails to provide reliable javascript escaping.
Constant Summary collapse
- JS_ESCAPE_MAP =
{ '\\' => '\\\\', '</' => '<\/', "\r\n" => '\n', "\n" => '\n', "\r" => '\n', '"' => '\\"', "'" => "\\'" }
Instance Method Summary collapse
-
#escape_javascript(javascript) ⇒ Object
(also: #j)
Escapes carriage returns and single and double quotes for JavaScript segments.
Instance Method Details
#escape_javascript(javascript) ⇒ Object Also known as: j
Escapes carriage returns and single and double quotes for JavaScript segments.
Also available through the alias j(). This is particularly helpful in JavaScript responses, like:
$('some_element').replaceWith('<%=j render 'some/element_template' %>');
25 26 27 28 29 30 31 |
# File 'lib/rack/tracker/javascript_helper.rb', line 25 def escape_javascript(javascript) if javascript javascript.to_s.gsub(/(\\|<\/|\r\n|\342\200\250|\342\200\251|[\n\r"'])/u) { |match| JS_ESCAPE_MAP[match] } else '' end end |