class GMaps::JS
Constants
- JS_ESCAPE_MAP
escape_javascript
Copied from ActionView::Helpers::JavaScriptHelper
Public Class Methods
[](*args)
click to toggle source
# File lib/gmaps/js.rb, line 6 def [](*args) self.new(*args) end
new(str, *args)
click to toggle source
# File lib/gmaps/js.rb, line 11 def initialize(str, *args) @str = if args.empty? str elsif args.length == 1 && args.first.is_a?(Hash) escaped_args = {} args.first.each { |k, v| escaped_args[k] = v.is_a?(String) ? escape_javascript(v) : v} str % (escaped_args) else args.map!{ |arg| arg.is_a?(String) ? escape_javascript(arg) : arg} str % args end end
Public Instance Methods
escape_javascript(javascript)
click to toggle source
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' %>');
# File lib/gmaps/js.rb, line 52 def escape_javascript(javascript) if javascript result = javascript.gsub(/(\\|<\/|\r\n|\342\200\250|\342\200\251|[\n\r"'])/u) {|match| JS_ESCAPE_MAP[match] } javascript.html_safe? ? result.html_safe : result else '' end end
inspect()
click to toggle source
# File lib/gmaps/js.rb, line 24 def inspect @str end
Also aliased as: to_s