Module: VWO::Utils::CustomDimensions

Includes:
CONSTANTS, Enums, Impression, Utility
Included in:
VWO
Defined in:
lib/vwo/utils/custom_dimensions.rb

Constant Summary

Constants included from CONSTANTS

CONSTANTS::API_VERSION, CONSTANTS::DEFAULT_EVENTS_PER_REQUEST, CONSTANTS::DEFAULT_REQUEST_TIME_INTERVAL, CONSTANTS::GOAL_TYPES, CONSTANTS::HTTPS_PROTOCOL, CONSTANTS::HTTP_PROTOCOL, CONSTANTS::LIBRARY_PATH, CONSTANTS::MAX_EVENTS_PER_REQUEST, CONSTANTS::MAX_RANGE, CONSTANTS::MAX_TRAFFIC_PERCENT, CONSTANTS::MAX_TRAFFIC_VALUE, CONSTANTS::MIN_EVENTS_PER_REQUEST, CONSTANTS::MIN_REQUEST_TIME_INTERVAL, CONSTANTS::PLATFORM, CONSTANTS::RUBY_VARIABLE_TYPES, CONSTANTS::SDK_NAME, CONSTANTS::SDK_VERSION, CONSTANTS::SEED_VALUE, CONSTANTS::STATUS_RUNNING, CONSTANTS::URL_NAMESPACE, CONSTANTS::VWO_DELIMITER

Constants included from UUID

UUID::VWO_NAMESPACE

Instance Method Summary collapse

Methods included from Utility

#convert_to_symbol_hash, #get_url, #get_variation_identifiers, #prepare_push_response, #remove_sensitive_properties

Methods included from VWO::Utils

#valid_campaign_for_track_api?, #valid_track_api_params?

Methods included from Validations

#invalid_config_log, #valid_basic_data_type?, #valid_batch_event_settings, #valid_boolean?, #valid_config_log, #valid_goal?, #valid_hash?, #valid_number?, #valid_settings_file?, #valid_string?, #valid_value?, #validate_sdk_config?

Methods included from Impression

#create_bulk_event_impression, #create_impression, #get_batch_event_query_params, #get_common_properties, #get_event_base_payload, #get_events_base_properties, #get_push_payload_data, #get_track_goal_payload_data, #get_track_user_payload_data

Methods included from UUID

#generate, #generator_for, parse, uuid_v5

Methods included from Function

#get_current_unix_timestamp, #get_current_unix_timestamp_in_millis, #get_key_value, #get_random_number

Instance Method Details

#get_batch_event_url_params(settings_file, tag_key, tag_value, user_id) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/vwo/utils/custom_dimensions.rb', line 50

def get_batch_event_url_params(settings_file, tag_key, tag_value, user_id)
  tag = { 'u' => {} }
  tag['u'][tag_key] = tag_value

   = settings_file['accountId']
  params = {
    'eT' => 3,
    't' => JSON.generate(tag),
    'u' => generator_for(user_id, , true),
    'sId' => get_current_unix_timestamp
  }

  Logger.log(
    LogLevelEnum::DEBUG,
    'IMPRESSION_FOR_PUSH',
    {
      '{file}' => FileNameEnum::CUSTOM_DIMENSTIONS_UTIL,
      '{properties}' => JSON.generate(params)
    }
  )
  params
end

#get_url_params(settings_file, tag_key, tag_value, user_id, sdk_key) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/vwo/utils/custom_dimensions.rb', line 31

def get_url_params(settings_file, tag_key, tag_value, user_id, sdk_key)
  url = HTTPS_PROTOCOL + get_url(ENDPOINTS::PUSH)
  tag = { 'u' => {} }
  tag['u'][tag_key] = tag_value

  params = get_common_properties(user_id, settings_file)
  params.merge!('url' => url, 'tags' => JSON.generate(tag), 'env' => sdk_key)

  Logger.log(
    LogLevelEnum::DEBUG,
    'IMPRESSION_FOR_PUSH',
    {
      '{file}' => FileNameEnum::CUSTOM_DIMENSTIONS_UTIL,
      '{properties}' => JSON.generate(params)
    }
  )
  params
end