@@ -195,12 +195,16 @@ def variable(user, key, default, opts = {})
195195 value = default
196196 type = determine_variable_type ( default )
197197 defaulted = true
198+ eval = { reason : DevCycle ::DEFAULT_REASONS ::UNKNOWN , details : DevCycle ::EVAL_REASON_DETAILS ::UNKNOWN }
198199 if local_bucketing_initialized? && @local_bucketing . has_config
199200 type_code = variable_type_code_from_type ( type )
200201 variable_pb = variable_for_user_pb ( user , key , type_code )
201202 unless variable_pb . nil?
202203 value = get_variable_value ( variable_pb )
203204 defaulted = false
205+ eval = get_eval_reason ( variable_pb )
206+ else
207+ eval = { reason : DevCycle ::DEFAULT_REASONS ::USER_NOT_TARGETED , details : DevCycle ::DEFAULT_REASONS ::USER_NOT_TARGETED }
204208 end
205209 else
206210 @logger . warn ( "Local bucketing not initialized, returning default value for variable #{ key } " )
@@ -214,7 +218,8 @@ def variable(user, key, default, opts = {})
214218 value : value ,
215219 type : type ,
216220 defaultValue : default ,
217- isDefaulted : defaulted
221+ isDefaulted : defaulted ,
222+ eval : eval
218223 } )
219224 end
220225
@@ -574,6 +579,15 @@ def get_variable_value(variable_pb)
574579 end
575580 end
576581
582+ def get_eval_reason ( variable_pb )
583+ if variable_pb . eval . nil?
584+ { reason : DevCycle ::DEFAULT_REASONS ::UNKNOWN , details : DevCycle ::DEFAULT_REASONS ::UNKNOWN }
585+ else
586+ puts ( "variable_pb.eval bruh: #{ variable_pb . eval } " )
587+ { reason : variable_pb . eval . reason , details : variable_pb . eval . details }
588+ end
589+ end
590+
577591 # Adds an eval hook to the client
578592 # @param [EvalHook] eval_hook The eval hook to add
579593 # @return [void]
0 commit comments