Class: Rack::Tracker::GoogleAnalytics
- Inherits:
-
Handler
- Object
- Handler
- Rack::Tracker::GoogleAnalytics
show all
- Defined in:
- lib/rack/tracker/google_analytics/google_analytics.rb
Defined Under Namespace
Classes: Ecommerce, EnhancedEcommerce, Parameter, Send
Constant Summary
collapse
- ALLOWED_TRACKER_OPTIONS =
[:cookie_domain, :user_id]
Instance Attribute Summary
Attributes inherited from Handler
#env, #options
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Handler
#events, #initialize
Class Method Details
.track(name, *event) ⇒ Object
81
82
83
|
# File 'lib/rack/tracker/google_analytics/google_analytics.rb', line 81
def self.track(name, *event)
{ name.to_s => [event.last.merge('class_name' => event.first.to_s.classify)] }
end
|
Instance Method Details
#ecommerce_events ⇒ Object
73
74
75
|
# File 'lib/rack/tracker/google_analytics/google_analytics.rb', line 73
def ecommerce_events
events.select {|e| e.kind_of?(Ecommerce) }
end
|
#enhanced_ecommerce_events ⇒ Object
77
78
79
|
# File 'lib/rack/tracker/google_analytics/google_analytics.rb', line 77
def enhanced_ecommerce_events
events.select {|e| e.kind_of?(EnhancedEcommerce) }
end
|
#render ⇒ Object
69
70
71
|
# File 'lib/rack/tracker/google_analytics/google_analytics.rb', line 69
def render
Tilt.new( File.join( File.dirname(__FILE__), 'template', 'google_analytics.erb') ).render(self)
end
|
#tracker ⇒ Object
55
56
57
|
# File 'lib/rack/tracker/google_analytics/google_analytics.rb', line 55
def tracker
options[:tracker].respond_to?(:call) ? options[:tracker].call(env) : options[:tracker]
end
|
#tracker_options ⇒ Object
59
60
61
62
63
64
65
66
67
|
# File 'lib/rack/tracker/google_analytics/google_analytics.rb', line 59
def tracker_options
@tracker_options ||= {}.tap do |tracker_options|
options.slice(*ALLOWED_TRACKER_OPTIONS).each do |key, value|
if option_value = value.respond_to?(:call) ? value.call(env) : value
tracker_options[key.to_s.camelize(:lower).to_sym] = option_value.to_s
end
end
end
end
|