Sha256: 992f333cac3855539766a72d81ff1dea3657ce5250e097a3f9da19895b12b32c
Contents?: true
Size: 1.48 KB
Versions: 4
Compression:
Stored size: 1.48 KB
Contents
module Analytical module Modules class Google include Analytical::Modules::Base def initialize(options={}) super @tracking_command_location = :head_append end def init_javascript(location) init_location(location) do js = <<-HTML <!-- Analytical Init: Google --> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', '#{options[:key]}']); _gaq.push(['_setDomainName', '#{options[:domain]}']); #{"_gaq.push(['_setAllowLinker', true]);" if options[:allow_linker]} _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> HTML js end end def track(*args) "_gaq.push(['_trackPageview'#{args.empty? ? ']' : ', "' + args.first + '"]'});" end def event(name, *args) data = args.first || {} data = data[:value] if data.is_a?(Hash) data_string = !data.nil? ? ", #{data}" : "" "_gaq.push(['_trackEvent', \"Event\", \"#{name}\"" + data_string + "]);" end end end end
Version data entries
4 entries across 4 versions & 1 rubygems