Module: VWO::Utils::Utility

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

Instance Method Summary collapse

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?

Instance Method Details

#convert_to_symbol_hash(hash_object) ⇒ Object

converting hash with keys as strings into hash with keys as strings @param @return



31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/vwo/utils/utility.rb', line 31

def convert_to_symbol_hash(hash_object)
  hash_object ||= {}
  converted_hash = {}
  hash_object.each do |key, value|
    converted_hash[key.to_sym] = if valid_hash?(value)
                                   convert_to_symbol_hash(value)
                                 else
                                   value
                                 end
  end
  converted_hash
end

#get_url(endpoint) ⇒ Object



50
51
52
# File 'lib/vwo/utils/utility.rb', line 50

def get_url(endpoint)
  DataLocationManager.get_instance.get_data_location + endpoint
end

#get_variation_identifiers(variation) ⇒ Object



61
62
63
64
65
66
67
68
69
# File 'lib/vwo/utils/utility.rb', line 61

def get_variation_identifiers(variation)
  if variation['goal_identifier']
    identifiers = variation['goal_identifier'].split(VWO_DELIMITER)
  else
    variation['goal_identifier'] = ''
    identifiers = []
  end
  identifiers
end

#prepare_push_response(custom_dimension_map, resp, result) ⇒ Object



54
55
56
57
58
59
# File 'lib/vwo/utils/utility.rb', line 54

def prepare_push_response(custom_dimension_map, resp, result)
  custom_dimension_map.each do |tag_key, _tag_value|
    result[tag_key] = resp
  end
  result
end

#remove_sensitive_properties(properties) ⇒ Object



44
45
46
47
48
# File 'lib/vwo/utils/utility.rb', line 44

def remove_sensitive_properties(properties)
  properties.delete('env')
  properties.delete('env'.to_sym)
  JSON.generate(properties)
end