Skip to content

Commit cb3558b

Browse files
committed
feat: use-overrides-key-hash
1 parent b9d14a8 commit cb3558b

File tree

3 files changed

+5
-7
lines changed

3 files changed

+5
-7
lines changed

lib/flagsmith/engine/core.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
require_relative 'segments/evaluator'
1212
require_relative 'segments/models'
1313
require_relative 'utils/hash_func'
14-
require_relative 'evaluationContext/mappers'
14+
require_relative 'evaluation/mappers'
1515

1616
module Flagsmith
1717
module Engine

lib/flagsmith/engine/evaluation/mappers.rb

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ module Flagsmith
44
module Engine
55
module EvaluationContext
66
module Mappers
7-
# Using integer constant instead of -Float::INFINITY because the JSON serializer rejects infinity values
8-
HIGHEST_PRIORITY = 0
9-
WEAKEST_PRIORITY = 99_999_999
7+
STRONGEST_PRIORITY = Float::INFINITY
8+
WEAKEST_PRIORITY = -Float::INFINITY
109

1110
# @param environment [Flagsmith::Engine::Environment] The environment model
1211
# @param identity [Flagsmith::Engine::Identity, nil] Optional identity model
@@ -165,7 +164,6 @@ def self.map_segment_rule_model_to_rule(rule)
165164
# @param identity_overrides [Array<Flagsmith::Engine::Identity>] Array of identity override models
166165
# @return [Hash] Segments hash for identity overrides
167166
def self.map_identity_overrides_to_segments(identity_overrides)
168-
require 'digest'
169167

170168
segments = {}
171169
features_to_identifiers = {}
@@ -191,7 +189,7 @@ def self.map_identity_overrides_to_segments(identity_overrides)
191189
end
192190

193191
# Create hash of the overrides to group identities with same overrides
194-
overrides_hash = Digest::SHA1.hexdigest(overrides_key.to_json)
192+
overrides_hash = overrides_key.hash
195193

196194
features_to_identifiers[overrides_hash] ||= { identifiers: [], overrides: overrides_key }
197195
features_to_identifiers[overrides_hash][:identifiers] << identity.identifier

spec/engine/unit/evaluation_context_mappers_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
expect(override[:name]).to eq('some_feature')
7373
expect(override[:enabled]).to be false
7474
expect(override[:value]).to eq('some-overridden-value')
75-
expect(override[:priority]).to eq(Flagsmith::Engine::EvaluationContext::Mappers::WEAKEST_PRIORITY)
75+
expect(override[:priority]).to eq(Flagsmith::Engine::EvaluationContext::Mappers::STRONGEST_PRIORITY)
7676
expect(override[:metadata][:flagsmithId]).to eq(1)
7777

7878
# Verify features

0 commit comments

Comments
 (0)