Module: VWO::Utils

Included in:
VWO, Utility
Defined in:
lib/vwo/utils/uuid.rb,
lib/vwo/utils/feature.rb,
lib/vwo/utils/request.rb,
lib/vwo/utils/segment.rb,
lib/vwo/utils/utility.rb,
lib/vwo/utils/campaign.rb,
lib/vwo/utils/function.rb,
lib/vwo/utils/impression.rb,
lib/vwo/utils/log_message.rb,
lib/vwo/utils/validations.rb,
lib/vwo/utils/custom_dimensions.rb,
lib/vwo/utils/get_account_flags.rb,
lib/vwo/utils/data_location_manager.rb

Defined Under Namespace

Modules: Campaign, CustomDimensions, Feature, Function, Impression, Segment, UUID, Utility, Validations Classes: DataLocationManager, GetAccountFlags, Logger, Request

Instance Method Summary collapse

Instance Method Details

#valid_campaign_for_track_api?(user_id, campaign_key, campaign_type) ⇒ Boolean

Returns:

  • (Boolean)


186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# File 'lib/vwo/utils/validations.rb', line 186

def valid_campaign_for_track_api?(user_id, campaign_key, campaign_type)
  if campaign_type == CONSTANTS::CampaignTypes::FEATURE_ROLLOUT
    Logger.log(
      LogLevelEnum::ERROR,
      'API_NOT_APPLICABLE',
      {
        '{file}' => FILE,
        '{api}' => ApiMethods::TRACK,
        '{userId}' => user_id,
        '{campaignKey}' => campaign_key,
        '{campaignType}' => campaign_type
      }
    )
    return false
  end
  true
end

#valid_track_api_params?(user_id, campaign_key, custom_variables, variation_targeting_variables, goal_type_to_track, goal_identifier) ⇒ Boolean

Returns:

  • (Boolean)


204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
# File 'lib/vwo/utils/validations.rb', line 204

def valid_track_api_params?(user_id, campaign_key, custom_variables, variation_targeting_variables, goal_type_to_track, goal_identifier)
  unless (valid_string?(campaign_key) || campaign_key.is_a?(Array) || campaign_key.nil?) &&
         valid_string?(user_id) && valid_string?(goal_identifier) &&
         (custom_variables.nil? || valid_hash?(custom_variables)) &&
         (variation_targeting_variables.nil? || valid_hash?(variation_targeting_variables)) && CONSTANTS::GOAL_TYPES.key?(goal_type_to_track)
    # log invalid params
    Logger.log(
      LogLevelEnum::ERROR,
      'API_BAD_PARAMETERS',
      {
        '{file}' => FILE,
        '{api}' => ApiMethods::TRACK
      }
    )
    return false
  end
  true
end