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'