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, set_email: :email }
Constants included from JavaScriptHelper
JavaScriptHelper::JS_ESCAPE_MAP
Instance Attribute Summary
Attributes inherited from Handler
Class Method Summary collapse
Instance Method Summary collapse
-
#tracker_events ⇒ Object
global events (setSiteType, setAccount, …) for each tracker instance.
Methods inherited from Handler
#dnt_header_opt_out?, #events, #handler_name, #initialize, #inject, process_track, #render, #tracker_options, #write_event
Methods included from JavaScriptHelper
Constructor Details
This class inherits a constructor from Rack::Tracker::Handler
Class Method Details
.track(name, event_name, event_args = {}) ⇒ Object
30 31 32 |
# File 'lib/rack/tracker/criteo/criteo.rb', line 30 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
#tracker_events ⇒ Object
global events (setSiteType, setAccount, …) for each tracker instance
20 21 22 23 24 25 26 27 28 |
# File 'lib/rack/tracker/criteo/criteo.rb', line 20 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 |