Skip to content

Commit 328b2c8

Browse files
prepare 6.2.1 release (#179)
1 parent 266d42f commit 328b2c8

File tree

2 files changed

+9
-11
lines changed

2 files changed

+9
-11
lines changed

lib/ldclient-rb/ldclient.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,12 @@ def evaluate_internal(key, user, default, event_factory)
407407
return detail
408408
end
409409

410+
if user[:key].nil?
411+
@config.logger.warn { "[LDClient] Variation called with nil user key; returning default value" }
412+
detail = Evaluator.error_result(EvaluationReason::ERROR_USER_NOT_SPECIFIED, default)
413+
return detail
414+
end
415+
410416
if !initialized?
411417
if @store.initialized?
412418
@config.logger.warn { "[LDClient] Client has not finished initializing; using last known values from feature store" }

spec/ldclient_spec.rb

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -171,20 +171,12 @@ def event_processor
171171
client.variation("key", user_anonymous, "default")
172172
end
173173

174-
it "queues a feature event for an existing feature when user key is nil" do
174+
it "does not queue a feature event for an existing feature when user key is nil" do
175175
config.feature_store.init({ LaunchDarkly::FEATURES => {} })
176176
config.feature_store.upsert(LaunchDarkly::FEATURES, feature_with_value)
177177
bad_user = { name: "Bob" }
178-
expect(event_processor).to receive(:add_event).with(hash_including(
179-
kind: "feature",
180-
key: "key",
181-
version: 100,
182-
user: bad_user,
183-
value: "default",
184-
default: "default",
185-
trackEvents: true,
186-
debugEventsUntilDate: 1000
187-
))
178+
expect(event_processor).not_to receive(:add_event)
179+
expect(logger).to receive(:warn)
188180
client.variation("key", bad_user, "default")
189181
end
190182

0 commit comments

Comments
 (0)