Class: Rack::Tracker::GoogleAnalytics

Inherits:
Handler
  • Object
show all
Defined in:
lib/rack/tracker/google_analytics/google_analytics.rb

Defined Under Namespace

Classes: Ecommerce, EnhancedEcommerce, Parameter, Send

Constant Summary

Constants included from JavaScriptHelper

JavaScriptHelper::JS_ESCAPE_MAP

Instance Attribute Summary

Attributes inherited from Handler

#env, #options

Instance Method Summary collapse

Methods inherited from Handler

#dnt_header_opt_out?, #events, #handler_name, #inject, process_track, #render, track, #tracker_options, #write_event

Methods included from JavaScriptHelper

#escape_javascript

Constructor Details

#initialize(env, options = {}) ⇒ GoogleAnalytics

Returns a new instance of GoogleAnalytics.



5
6
7
8
# File 'lib/rack/tracker/google_analytics/google_analytics.rb', line 5

def initialize(env, options = {})
  options[:explicit_pageview] = true if !options.has_key?(:explicit_pageview)
  super(env, options)
end

Instance Method Details

#ecommerce_eventsObject



65
66
67
# File 'lib/rack/tracker/google_analytics/google_analytics.rb', line 65

def ecommerce_events
  events.select {|e| e.kind_of?(Ecommerce) }
end

#enhanced_ecommerce_eventsObject



69
70
71
# File 'lib/rack/tracker/google_analytics/google_analytics.rb', line 69

def enhanced_ecommerce_events
  events.select {|e| e.kind_of?(EnhancedEcommerce) }
end

#pageview_url_scriptObject



73
74
75
# File 'lib/rack/tracker/google_analytics/google_analytics.rb', line 73

def pageview_url_script
  options[:pageview_url_script] || 'window.location.pathname + window.location.search'
end

#trackerObject



61
62
63
# File 'lib/rack/tracker/google_analytics/google_analytics.rb', line 61

def tracker
  options[:tracker].respond_to?(:call) ? options[:tracker].call(env) : options[:tracker]
end