lib/ldclient-rb/impl/event_factory.rb in launchdarkly-server-sdk-6.0.0 vs lib/ldclient-rb/impl/event_factory.rb in launchdarkly-server-sdk-6.1.0
- old
+ new
@@ -26,10 +26,11 @@
# the following properties are handled separately so we don't waste bandwidth on unused keys
e[:trackEvents] = true if add_experiment_data || flag[:trackEvents]
e[:debugEventsUntilDate] = flag[:debugEventsUntilDate] if flag[:debugEventsUntilDate]
e[:prereqOf] = prereq_of_flag[:key] if !prereq_of_flag.nil?
e[:reason] = detail.reason if add_experiment_data || @with_reasons
+ e[:contextKind] = context_to_context_kind(user) if !user.nil? && user[:anonymous]
e
end
def new_default_event(flag, user, default_value, reason)
e = {
@@ -41,10 +42,11 @@
version: flag[:version]
}
e[:trackEvents] = true if flag[:trackEvents]
e[:debugEventsUntilDate] = flag[:debugEventsUntilDate] if flag[:debugEventsUntilDate]
e[:reason] = reason if @with_reasons
+ e[:contextKind] = context_to_context_kind(user) if !user.nil? && user[:anonymous]
e
end
def new_unknown_flag_event(key, user, default_value, reason)
e = {
@@ -53,10 +55,11 @@
user: user,
value: default_value,
default: default_value
}
e[:reason] = reason if @with_reasons
+ e[:contextKind] = context_to_context_kind(user) if !user.nil? && user[:anonymous]
e
end
def new_identify_event(user)
{
@@ -64,21 +67,40 @@
key: user[:key],
user: user
}
end
+ def new_alias_event(current_context, previous_context)
+ {
+ kind: 'alias',
+ key: current_context[:key],
+ contextKind: context_to_context_kind(current_context),
+ previousKey: previous_context[:key],
+ previousContextKind: context_to_context_kind(previous_context)
+ }
+ end
+
def new_custom_event(event_name, user, data, metric_value)
e = {
kind: 'custom',
key: event_name,
user: user
}
e[:data] = data if !data.nil?
e[:metricValue] = metric_value if !metric_value.nil?
+ e[:contextKind] = context_to_context_kind(user) if !user.nil? && user[:anonymous]
e
end
private
+
+ def context_to_context_kind(user)
+ if !user.nil? && user[:anonymous]
+ return "anonymousUser"
+ else
+ return "user"
+ end
+ end
def is_experiment(flag, reason)
return false if !reason
case reason[:kind]
when 'RULE_MATCH'