Sha256: cbe5d1e96130259f7f6d3dd4bb0f655891fda538e0750acce56de3d635796d32
Contents?: true
Size: 1.87 KB
Versions: 39
Compression:
Stored size: 1.87 KB
Contents
# typed: ignore # Copyright (c) 2015 Sqreen. All Rights Reserved. # Please refer to our terms for more information: https://www.sqreen.com/terms.html require 'sqreen/frameworks' # Sqreen Namespace module Sqreen SDK_RESERVED_PREFIX = 'sq.'.freeze TRACK_PAYLOAD_DATA = ['request'.freeze, 'params'.freeze, 'headers'.freeze].freeze # Sqreen SDK class << self # Authentication tracking method def auth_track(is_logged_in, authentication_keys); end def signup_track(authentication_keys); end def identify(authentication_keys, traits = {}) return unless Sqreen.framework Sqreen.framework.observe( :sdk, [:identify, Time.now, authentication_keys, traits], [], false ) end def track(event_name, options = {}) unless Sqreen.framework Sqreen.log.warn("Ignored track call (event #{event_name}) due to framework absence") return end Sqreen.log.debug { "Sqreen.track() call (event #{event_name}, options #{options})" } if event_name.start_with? SDK_RESERVED_PREFIX Sqreen.log.warn("Event names starting with '#{SDK_RESERVED_PREFIX}' " \ 'are reserved. Event ignored.') return false end internal_track(event_name, options) end # For internal usage. Users are to call track() instead. def internal_track(event_name, options = {}) properties = options[:properties] user_identifiers = options[:user_identifiers] timestamp = options[:timestamp] || Time.now.utc # Not in SDK v0 # request = options[:request] args = {} args[:user_identifiers] = user_identifiers if user_identifiers args[:properties] = properties if properties Sqreen.framework.observe( :sdk, [:track, timestamp, event_name, :args => args], TRACK_PAYLOAD_DATA, true ) true end end end
Version data entries
39 entries across 39 versions & 1 rubygems