Sha256: 74ab60201fb9bf92d5a4dbbff1e4500e5cbe441f5334eecd16b24360ca25113f
Contents?: true
Size: 1.41 KB
Versions: 3
Compression:
Stored size: 1.41 KB
Contents
module Giggly module Javascript module Helper # The Javascript helper should be totally generic to the api that is being used # So that if there is a future api it can be wrapped in a class and include this def include_gigya_api(service) '<script type="text/javascript" src="http://cdn.gigya.com/JS/gigya.js?services=' + service.to_s + '"></script>' end def javascript(&block) out = '<script type="text/javascript">' + "\n" out += yield.to_s out += "\n" + '</script>' out end def to_var(name, object, scope_to_window = false) "#{scope_to_window ? '' : 'var '}#{name.to_s} = #{javascriptify_object object};" end # borrowed mainly from the ym4r_gm plugin def javascriptify_object(object) if object.is_a? String "'#{escape_javascript object}'" elsif object.is_a? Array '[' + object.collect{ |o| javascriptify_variable(o) }.join(', ') + ']' elsif object.is_a? Hash '{' + object.to_a.collect{ |o| "#{o[0].to_s} : #{javascriptify_object(o[1])}" }.join(', ') + '}' elsif object.nil? 'undefined' else object.to_s end end # from rails def escape_javascript(javascript) javascript.gsub(/\r\n|\n|\r/, "\\n").gsub("\"") { |m| "\\#{m}" } end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
giggly-0.1.2 | lib/giggly/javascript/helper.rb |
giggly-0.1.1 | lib/giggly/javascript/helper.rb |
giggly-0.1.0 | lib/giggly/javascript/helper.rb |