@@ -124,14 +124,14 @@ def _variation(self, fn: str, identifier: str, target: Target,
124124 fc = self ._config .cache .get (f'flags/{ identifier } ' )
125125 if fc :
126126 self .map_segments_from_cache (fc )
127- method = getattr (fc , fn , None )
127+ method = getattr (fc , f' { fn } _variation' , None )
128128 if method :
129129 variation = method (target )
130130 if variation is None :
131131 log .debug ('No variation found' )
132132 return default
133133 self ._analytics .enqueue (target , fc , variation )
134- return variation . bool ( )
134+ return getattr ( variation , fn )( default )
135135 else :
136136 log .error ("Wrong method name %s" , fn )
137137 except KeyError :
@@ -140,23 +140,23 @@ def _variation(self, fn: str, identifier: str, target: Target,
140140
141141 def bool_variation (self , identifier : str , target : Target ,
142142 default : bool ) -> bool :
143- return self ._variation ('bool_variation ' , identifier , target , default )
143+ return self ._variation ('bool ' , identifier , target , default )
144144
145145 def int_variation (self , identifier : str , target : Target ,
146146 default : int ) -> int :
147- return self ._variation ('int_variation ' , identifier , target , default )
147+ return self ._variation ('int ' , identifier , target , default )
148148
149149 def number_variation (self , identifier : str , target : Target ,
150150 default : float ) -> float :
151- return self ._variation ('number_variation ' , identifier , target , default )
151+ return self ._variation ('number ' , identifier , target , default )
152152
153153 def string_variation (self , identifier : str , target : Target ,
154154 default : str ) -> str :
155- return self ._variation ('string_variation ' , identifier , target , default )
155+ return self ._variation ('string ' , identifier , target , default )
156156
157157 def json_variation (self , identifier : str , target : Target ,
158158 default : Dict [str , Any ]) -> Dict [str , Any ]:
159- return self ._variation ('number_variation ' , identifier , target , default )
159+ return self ._variation ('json ' , identifier , target , default )
160160
161161 def close (self ):
162162 log .info ('closing sdk client' )
0 commit comments