1313require_relative 'segments/models'
1414require_relative 'utils/hash_func'
1515require_relative 'mappers'
16- require_relative 'evaluation/core'
1716
1817module Flagsmith
1918 # Core evaluation logic for feature flags
@@ -29,6 +28,7 @@ module Engine
2928 # @return [Hash] Evaluation result with flags and segments
3029 # returns EvaluationResultWithMetadata
3130 def get_evaluation_result ( evaluation_context )
31+ evaluation_context = get_enriched_context ( evaluation_context )
3232 segments , segment_overrides = evaluate_segments ( evaluation_context )
3333 flags = evaluate_features ( evaluation_context , segment_overrides )
3434 {
@@ -141,7 +141,11 @@ def get_multivariate_feature_value(feature, identity_key)
141141 # returns boolean
142142 def should_apply_override ( override , existing_overrides )
143143 current_override = existing_overrides [ override [ :name ] ]
144- !current_override || is_stronger_priority? ( override [ :priority ] , current_override [ :feature ] [ :priority ] )
144+ !current_override || stronger_priority? ( override [ :priority ] , current_override [ :feature ] [ :priority ] )
145+ end
146+
147+ def stronger_priority? ( priority_a , priority_b )
148+ ( priority_a || WEAKEST_PRIORITY ) < ( priority_b || WEAKEST_PRIORITY )
145149 end
146150
147151 private
@@ -153,13 +157,7 @@ def should_apply_override(override, existing_overrides)
153157 def get_identity_key ( evaluation_context )
154158 return nil unless evaluation_context [ :identity ]
155159
156- evaluation_context [ :identity ] [ :key ] ||
157- "#{ evaluation_context [ :environment ] [ :key ] } _#{ evaluation_context [ :identity ] [ :identifier ] } "
158- end
159-
160- # returns boolean
161- def is_stronger_priority? ( priority_a , priority_b )
162- ( priority_a || WEAKEST_PRIORITY ) < ( priority_b || WEAKEST_PRIORITY )
160+ evaluation_context [ :identity ] [ :key ]
163161 end
164162 end
165163end
0 commit comments