Class: Rack::Tracker::Zanox

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

Defined Under Namespace

Classes: Lead, Mastertag, Sale

Instance Attribute Summary

Attributes inherited from Handler

#env, #options

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Handler

#events, #initialize

Constructor Details

This class inherits a constructor from Rack::Tracker::Handler

Class Method Details

.track(name, *event) ⇒ Object

this is called with additional arguments to t.zanox



53
54
55
# File 'lib/rack/tracker/zanox/zanox.rb', line 53

def self.track(name, *event)
  { name.to_s => [event.last.merge('class_name' => event.first.to_s.capitalize)] }
end

Instance Method Details

#lead_eventsObject



40
41
42
# File 'lib/rack/tracker/zanox/zanox.rb', line 40

def lead_events
  events.select{ |event| event.class.to_s.demodulize == 'Lead' }
end

#mastertagObject



34
35
36
37
38
# File 'lib/rack/tracker/zanox/zanox.rb', line 34

def mastertag
  # First event should be stronger, e.g. one signs up and gets redirected to homepage
  # "sign up" should be tracked instead of "view homepage"
  events.select{ |event| event.class.to_s.demodulize == 'Mastertag' }.first
end

#renderObject



48
49
50
# File 'lib/rack/tracker/zanox/zanox.rb', line 48

def render
  Tilt.new( File.join( File.dirname(__FILE__), 'template', 'zanox.erb') ).render(self)
end

#sale_eventsObject



44
45
46
# File 'lib/rack/tracker/zanox/zanox.rb', line 44

def sale_events
  events.select{ |event| event.class.to_s.demodulize == 'Sale' }
end