Sha256: aba49d463b94822202db65147ed0d3c31ed0126e16c6142a6d88fe8f2510fd8e
Contents?: true
Size: 1.04 KB
Versions: 3
Compression:
Stored size: 1.04 KB
Contents
module GoogleAnalytics class AsyncTrackingQueue def initialize @events = [] end def <<(event) push(event) end def push(event, tracker_id = nil) @events << renderer_for_event(event, tracker_id) end def to_s <<-JAVASCRIPT <script type="text/javascript"> var _gaq = _gaq || []; #{@events.map { |event| event.to_s }.join("\n")} (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> JAVASCRIPT end private def renderer_for_event(event, tracker_id) case event when Event then EventRenderer.new(event, tracker_id) when EventCollection then EventCollectionRenderer.new(event, tracker_id) end end end end # Alias for {GoogleAnalytics::AsyncTrackingQueue} GAQ = GoogleAnalytics::AsyncTrackingQueue
Version data entries
3 entries across 3 versions & 1 rubygems