@@ -105,6 +105,13 @@ def activate(experiment_key, user_id, attributes = nil)
105105 return nil
106106 end
107107
108+ return nil unless Optimizely ::Helpers ::Validator . inputs_valid? (
109+ {
110+ experiment_key : experiment_key ,
111+ user_id : user_id
112+ } , @logger , Logger ::ERROR
113+ )
114+
108115 variation_key = get_variation ( experiment_key , user_id , attributes )
109116
110117 if variation_key . nil?
@@ -135,10 +142,12 @@ def get_variation(experiment_key, user_id, attributes = nil)
135142 return nil
136143 end
137144
138- if user_id . to_s . empty?
139- @logger . log ( Logger ::ERROR , 'User ID cannot be empty.' )
140- return nil
141- end
145+ return nil unless Optimizely ::Helpers ::Validator . inputs_valid? (
146+ {
147+ experiment_key : experiment_key ,
148+ user_id : user_id
149+ } , @logger , Logger ::ERROR
150+ )
142151
143152 unless user_inputs_valid? ( attributes )
144153 @logger . log ( Logger ::INFO , "Not activating user '#{ user_id } ." )
@@ -196,10 +205,12 @@ def track(event_key, user_id, attributes = nil, event_tags = nil)
196205 return nil
197206 end
198207
199- if user_id . to_s . empty?
200- @logger . log ( Logger ::ERROR , 'User ID cannot be empty.' )
201- return nil
202- end
208+ return nil unless Optimizely ::Helpers ::Validator . inputs_valid? (
209+ {
210+ event_key : event_key ,
211+ user_id : user_id
212+ } , @logger , Logger ::ERROR
213+ )
203214
204215 return nil unless user_inputs_valid? ( attributes , event_tags )
205216
@@ -254,15 +265,12 @@ def is_feature_enabled(feature_flag_key, user_id, attributes = nil)
254265 return false
255266 end
256267
257- unless feature_flag_key
258- @logger . log ( Logger ::ERROR , 'Feature flag key cannot be empty.' )
259- return false
260- end
261-
262- if user_id . to_s . empty?
263- @logger . log ( Logger ::ERROR , 'User ID cannot be empty.' )
264- return false
265- end
268+ return false unless Optimizely ::Helpers ::Validator . inputs_valid? (
269+ {
270+ feature_flag_key : feature_flag_key ,
271+ user_id : user_id
272+ } , @logger , Logger ::ERROR
273+ )
266274
267275 feature_flag = @config . get_feature_flag_from_key ( feature_flag_key )
268276 unless feature_flag
@@ -312,6 +320,8 @@ def get_enabled_features(user_id, attributes = nil)
312320 return enabled_features
313321 end
314322
323+ return enabled_features unless Optimizely ::Helpers ::Validator . inputs_valid? ( { user_id : user_id } , @logger , Logger ::ERROR )
324+
315325 @config . feature_flags . each do |feature |
316326 enabled_features . push ( feature [ 'key' ] ) if is_feature_enabled (
317327 feature [ 'key' ] ,
@@ -426,20 +436,15 @@ def get_feature_variable_for_type(feature_flag_key, variable_key, variable_type,
426436 # Returns nil if the feature flag or variable or user ID is empty
427437 # in case of variable type mismatch
428438
429- unless feature_flag_key
430- @logger . log ( Logger ::ERROR , 'Feature flag key cannot be empty.' )
431- return nil
432- end
433-
434- unless variable_key
435- @logger . log ( Logger ::ERROR , 'Variable key cannot be empty.' )
436- return nil
437- end
438-
439- if user_id . to_s . empty?
440- @logger . log ( Logger ::ERROR , 'User ID cannot be empty.' )
441- return nil
442- end
439+ return nil unless Optimizely ::Helpers ::Validator . inputs_valid? (
440+ {
441+ feature_flag_key : feature_flag_key ,
442+ variable_key : variable_key ,
443+ variable_type : variable_type ,
444+ user_id : user_id
445+ } ,
446+ @logger , Logger ::ERROR
447+ )
443448
444449 feature_flag = @config . get_feature_flag_from_key ( feature_flag_key )
445450 unless feature_flag
0 commit comments