Class: Rack::Tracker::Criteo
- Defined in:
- lib/rack/tracker/criteo/criteo.rb
Defined Under Namespace
Classes: Event
Constant Summary collapse
- TRACKER_EVENTS =
{ # event name => event key name, e.g. { event: 'setSiteType', type: '' } set_site_type: :type, set_account: :account, set_customer_id: :id }
Instance Attribute Summary
Attributes inherited from Handler
Class Method Summary collapse
Instance Method Summary collapse
- #render ⇒ Object
-
#tracker_events ⇒ Object
global events (setSiteType, setAccount, …) for each tracker instance.
Methods inherited from Handler
Constructor Details
This class inherits a constructor from Rack::Tracker::Handler
Class Method Details
.track(name, event_name, event_args = {}) ⇒ Object
33 34 35 |
# File 'lib/rack/tracker/criteo/criteo.rb', line 33 def self.track(name, event_name, event_args = {}) { name.to_s => [{ 'class_name' => 'Event', 'event' => event_name.to_s.camelize(:lower) }.merge(event_args)] } end |
Instance Method Details
#render ⇒ Object
29 30 31 |
# File 'lib/rack/tracker/criteo/criteo.rb', line 29 def render Tilt.new( File.join( File.dirname(__FILE__), 'template', 'criteo.erb') ).render(self) end |
#tracker_events ⇒ Object
global events (setSiteType, setAccount, …) for each tracker instance
19 20 21 22 23 24 25 26 27 |
# File 'lib/rack/tracker/criteo/criteo.rb', line 19 def tracker_events @tracker_events ||= [].tap do |tracker_events| .slice(*TRACKER_EVENTS.keys).each do |key, value| if option_value = value.respond_to?(:call) ? value.call(env) : value tracker_events << Event.new(:event => "#{key}".camelize(:lower), TRACKER_EVENTS[key] => "#{option_value}") end end end end |