@@ -63,24 +63,24 @@ def initialize(datafile, event_dispatcher = nil, logger = nil, error_handler = n
6363 validate_instantiation_options ( datafile , skip_json_validation )
6464 rescue InvalidInputError => e
6565 @is_valid = false
66- logger = SimpleLogger . new
67- logger . log ( Logger ::ERROR , e . message )
66+ @ logger = SimpleLogger . new
67+ @ logger. log ( Logger ::ERROR , e . message )
6868 return
6969 end
7070
7171 begin
7272 @config = ProjectConfig . new ( datafile , @logger , @error_handler )
7373 rescue
7474 @is_valid = false
75- logger = SimpleLogger . new
76- logger . log ( Logger ::ERROR , InvalidInputError . new ( 'datafile' ) . message )
75+ @ logger = SimpleLogger . new
76+ @ logger. log ( Logger ::ERROR , InvalidInputError . new ( 'datafile' ) . message )
7777 return
7878 end
7979
8080 unless @config . parsing_succeeded?
8181 @is_valid = false
82- logger = SimpleLogger . new
83- logger . log ( Logger ::ERROR , InvalidDatafileVersionError . new . message )
82+ @ logger = SimpleLogger . new
83+ @ logger. log ( Logger ::ERROR , InvalidDatafileVersionError . new . message )
8484 return
8585 end
8686
@@ -100,8 +100,7 @@ def activate(experiment_key, user_id, attributes = nil)
100100 # Returns nil if experiment is not Running, if user is not in experiment, or if datafile is invalid.
101101
102102 unless @is_valid
103- logger = SimpleLogger . new
104- logger . log ( Logger ::ERROR , InvalidDatafileError . new ( 'activate' ) . message )
103+ @logger . log ( Logger ::ERROR , InvalidDatafileError . new ( 'activate' ) . message )
105104 return nil
106105 end
107106
@@ -137,8 +136,7 @@ def get_variation(experiment_key, user_id, attributes = nil)
137136 # Returns nil if experiment is not Running, if user is not in experiment, or if datafile is invalid.
138137
139138 unless @is_valid
140- logger = SimpleLogger . new
141- logger . log ( Logger ::ERROR , InvalidDatafileError . new ( 'get_variation' ) . message )
139+ @logger . log ( Logger ::ERROR , InvalidDatafileError . new ( 'get_variation' ) . message )
142140 return nil
143141 end
144142
@@ -200,8 +198,7 @@ def track(event_key, user_id, attributes = nil, event_tags = nil)
200198 # event_tags - Hash representing metadata associated with the event.
201199
202200 unless @is_valid
203- logger = SimpleLogger . new
204- logger . log ( Logger ::ERROR , InvalidDatafileError . new ( 'track' ) . message )
201+ @logger . log ( Logger ::ERROR , InvalidDatafileError . new ( 'track' ) . message )
205202 return nil
206203 end
207204
@@ -259,8 +256,7 @@ def is_feature_enabled(feature_flag_key, user_id, attributes = nil)
259256 # False if the feature is disabled.
260257 # False if the feature is not found.
261258 unless @is_valid
262- logger = SimpleLogger . new
263- logger . log ( Logger ::ERROR , InvalidDatafileError . new ( 'is_feature_enabled' ) . message )
259+ @logger . log ( Logger ::ERROR , InvalidDatafileError . new ( 'is_feature_enabled' ) . message )
264260 return false
265261 end
266262
@@ -315,8 +311,7 @@ def get_enabled_features(user_id, attributes = nil)
315311 enabled_features = [ ]
316312
317313 unless @is_valid
318- logger = SimpleLogger . new
319- logger . log ( Logger ::ERROR , InvalidDatafileError . new ( 'get_enabled_features' ) . message )
314+ @logger . log ( Logger ::ERROR , InvalidDatafileError . new ( 'get_enabled_features' ) . message )
320315 return enabled_features
321316 end
322317
@@ -343,6 +338,11 @@ def get_feature_variable_string(feature_flag_key, variable_key, user_id, attribu
343338 # Returns the string variable value.
344339 # Returns nil if the feature flag or variable are not found.
345340
341+ unless @is_valid
342+ @logger . log ( Logger ::ERROR , InvalidDatafileError . new ( 'get_feature_variable_string' ) . message )
343+ return nil
344+ end
345+
346346 variable_value = get_feature_variable_for_type (
347347 feature_flag_key ,
348348 variable_key ,
@@ -365,6 +365,11 @@ def get_feature_variable_boolean(feature_flag_key, variable_key, user_id, attrib
365365 # Returns the boolean variable value.
366366 # Returns nil if the feature flag or variable are not found.
367367
368+ unless @is_valid
369+ @logger . log ( Logger ::ERROR , InvalidDatafileError . new ( 'get_feature_variable_boolean' ) . message )
370+ return nil
371+ end
372+
368373 variable_value = get_feature_variable_for_type (
369374 feature_flag_key ,
370375 variable_key ,
@@ -387,6 +392,11 @@ def get_feature_variable_double(feature_flag_key, variable_key, user_id, attribu
387392 # Returns the double variable value.
388393 # Returns nil if the feature flag or variable are not found.
389394
395+ unless @is_valid
396+ @logger . log ( Logger ::ERROR , InvalidDatafileError . new ( 'get_feature_variable_double' ) . message )
397+ return nil
398+ end
399+
390400 variable_value = get_feature_variable_for_type (
391401 feature_flag_key ,
392402 variable_key ,
@@ -409,6 +419,11 @@ def get_feature_variable_integer(feature_flag_key, variable_key, user_id, attrib
409419 # Returns the integer variable value.
410420 # Returns nil if the feature flag or variable are not found.
411421
422+ unless @is_valid
423+ @logger . log ( Logger ::ERROR , InvalidDatafileError . new ( 'get_feature_variable_integer' ) . message )
424+ return nil
425+ end
426+
412427 variable_value = get_feature_variable_for_type (
413428 feature_flag_key ,
414429 variable_key ,
0 commit comments